Skip to content

Instantly share code, notes, and snippets.

View mattbennett's full-sized avatar

Matt Yule-Bennett mattbennett

  • London, England
View GitHub Profile
FROM debian:stretch
RUN apt-get update
RUN apt-get install -y python3 python3-pip erlang rabbitmq-server unixodbc unixodbc-dev
RUN pip3 install pyodbc apscheduler nameko
COPY config.yaml /srv/config.yaml
COPY service.py /srv/service.py
CMD /etc/init.d/rabbitmq-server start; cd /srv; nameko run service --config config.yaml
+-----------+
| |
| Gateway |
| |
+-----------+
| |
+-------+ +-------+
| |
+-----v-----+ +-----v-----+
| | | |
@mattbennett
mattbennett / repro.py
Last active March 9, 2018 17:29
Kombu unsafe default socket timeout
from kombu import Connection
import time
import threading
import socket
AMQP_URI = "pyamqp://guest:guest@localhost:5672/"
DEFAULT_TIMEOUT = 1.0
@mattbennett
mattbennett / attach_pdb.py
Created June 26, 2018 09:25
Attach PDB to Nameko worker exceptions
@pytest.yield_fixture
def pdb_worker_exceptions():
import pdb
from mock import patch
from nameko.containers import ServiceContainer
unpatched = ServiceContainer._worker_result
def attach_pdb(self, worker_ctx, result, exc_info):
if exc_info:
@mattbennett
mattbennett / .gitignore
Last active March 13, 2019 12:11
Nameko gRPC Example
*_pb2.py
*_pb2_grpc.py
__pycache__
from setuptools import setup, find_packages
setup(
name='MyPackageName',
version='1.0.0',
url='https://github.com/mypackage.git',
author='Author Name',
author_email='[email protected]',
description='Description of my package',
packages=[],
@mattbennett
mattbennett / client.py
Last active November 23, 2020 21:31
Nameko call_async performance
from nameko.standalone.rpc import ClusterRpcProxy
from time import perf_counter, sleep
import pkg_resources
config = {
"AMQP_URI": "amqp://guest:guest@localhost:5672" # e.g. "pyamqp://guest:guest@localhost"
}
with ClusterRpcProxy(config) as cluster_rpc: