Skip to content

Instantly share code, notes, and snippets.

View supreme-core's full-sized avatar
:octocat:

I am me supreme-core

:octocat:
View GitHub Profile
@supreme-core
supreme-core / monitor.py
Created March 6, 2022 22:05 — forked from zircote/monitor.py
AWS/Celery Monitor
from boto.ec2.cloudwatch import CloudWatchConnection
from datetime import datetime
from main.settings import AWS_CREDENTIALS, CLOUDWATCH_NAMESPACE
def monitor(app):
cloudwatch = CloudWatchConnection(**AWS_CREDENTIALS)
state = app.events.State()
def get_task(event):
@supreme-core
supreme-core / cluster_status.py
Created March 6, 2022 21:58 — forked from larsbutler/cluster_status.py
Script for monitoring celery worker usage, for https://github.com/gem/oq-engine
#!/usr/bin/env python
import sys
from celery.task.control import inspect
def ping_celery():
ins = inspect()
# Count the number of total worker processes
total_workers = 0
# ... and active tasks
@supreme-core
supreme-core / temporary_settings.py
Created March 6, 2022 21:55 — forked from codysoyland/temporary_settings.py
Context manager for monkey-patching django settings (useful in unit tests)
# Example usage:
# with temporary_settings(CELERY_ALWAYS_EAGER=True):
# run_task.delay() # runs task with eager setting enabled.
from contextlib import contextmanager
from django.conf import settings
@contextmanager
def temporary_settings(**temp_settings):
orig_settings = {}
@supreme-core
supreme-core / example.py
Created February 13, 2022 18:15 — forked from schlamar/example.py
mplog: Python advanced multiprocessing logging.
import logging
import multiprocessing
import time
import mplog
FORMAT = '%(asctime)s - %(processName)s - %(levelname)s - %(message)s'
logging.basicConfig(level=logging.DEBUG, format=FORMAT)
existing_logger = logging.getLogger('x')
@supreme-core
supreme-core / zmq_websocket_gateway.py
Created May 9, 2021 20:51 — forked from saghul/zmq_websocket_gateway.py
A ZeroMQ - WebSocket gateway
# coding=utf8
# Copyright (C) 2011 Saúl Ibarra Corretgé <saghul@gmail.com>
#
import hashlib
import os
import re
import socket
import struct
@supreme-core
supreme-core / latest-protobuf-ubuntu-18-04.md
Last active May 28, 2019 02:00 — forked from diegopacheco/latest-protobuf-ubuntu-18-04.md
How to Install Latest Protobuf on Ubuntu 18.04
sudo apt-get install autoconf automake libtool curl make g++ unzip -y
git clone https://github.com/google/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh
./configure
make
make check
sudo make install
@supreme-core
supreme-core / configure_muliple_gcc.sh
Created May 21, 2019 20:05 — forked from SunnyRaj/configure_muliple_gcc.sh
Configure multiple GCC versions on ubuntu
#!/usr/bin/env bash
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt update
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo apt-get install -y gcc-4.8 g++-4.8 gcc-4.9 g++-4.9 gcc-5 g++-5 gcc-6 g++-6 gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 10
@supreme-core
supreme-core / live-output.py
Created May 19, 2019 01:00 — forked from konpatp/live-output.py
python subprocess's Popen live-output with "select"
from select import select
import os
import time
import subprocess
from contextlib import contextmanager
@contextmanager
def pipe():
r, w = os.pipe()
@supreme-core
supreme-core / catchableprocess.py
Created May 19, 2019 00:35 — forked from konpatp/catchableprocess.py
Python CatchableProcess: Catch exceptions in spawned processes
from multiprocessing import Process
class CatchableProcess(Process):
def __init__(self, target, args=[], kwargs=dict()):
from multiprocessing import Queue
self.error = Queue(1)
self.result = Queue(1)
def wrapper(target, args, kwargs):
try:
@supreme-core
supreme-core / async.py
Created May 19, 2019 00:34 — forked from konpatp/async.py
Python turn sync functions to async (and async to sync)
import functools
def force_async(fn):
'''
turns a sync function to async function using threads
'''
from concurrent.futures import ThreadPoolExecutor
import asyncio
pool = ThreadPoolExecutor()