thrau / pymq Goto Github PK
View Code? Open in Web Editor NEWA simple message-oriented middleware library built for Python IPC across machine boundaries
License: MIT License
A simple message-oriented middleware library built for Python IPC across machine boundaries
License: MIT License
DBus looks like a useful candidate as a pymq provider. There are several python bindings https://wiki.python.org/moin/DbusExamples
pub/sub needs to be solved somehow
The Redis provider sets channel prefixes to avoid collisions with other namespaces:
Line 101 in c89ccb2
the AWS provider should to the same
See
Lines 144 to 147 in 2e32288
create inverse to expose
in pymq
run
will wait for subscriptions to appear)expected behavior: run loop should wait for subscriptions to appear, unless close()
was called
once pymq.init
has been called, and a new process is created that also uses pymq
, the child process is left with all the state of the parent process (including the runner thread that runs the command loop).
If the result of an rpc call is not collected (e.g., due to timeouts and late results), the result queue and its contents will remain in the redis instance indefinitely, potentially causing a memory leak.
A good fix would probably be to let the skeleton set EXPIRE
with a sane default on the callback queue.
Instead of creating a new IPC message queue for each RPC call, we could attach an in-memory queue to the bus and have the stub method listen on that queue instead of a remote queue. Use the event loop to dispatch the correct event.
One could probably build an eventbus provider using posix message queues + some additional logic for pubsub.
enable asynchronous RPC via callbacks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.