aio-job-queue's People
aio-job-queue's Issues
Adding Tarantool queue backend
Seems like it's time to start working on Tarantool queue implementation. I propose the following : a top-level Queue abstract class with general methods (put, get) and RedisQueue and TarantoolQueue classes in corresponding folders. RedisQueue is actually now implemented, making it compatible with abstract parent class would cost nothing
Automatic task payload (de)serialization using different serializers.
Right now we only support raw
payloads. Would be nice to have options for pickle
, safe_pickle
, json
, yaml
and so on.
In-memory backend
Original idea was to create alternative to asyncio.Queue
that preserves tasks after program restart and supports acks()
.
Now API is too different but sometimes it would be still a good idea to have an alternative to aiothreading
and ack()
support in asyncio.Queue
-like object.
We can implement the same API we have but with local object without communication with outside world: just a wrapper around queue.Queue
(for thread safety) or similar.
This would be also very useful for tests.
Serialization method duplication
serialization_method
logic implemented in #11 results in data duplication left as tradeoff to maximal flexibility and interoperability of homogenous and heterogenous queues. serialization_method
is both a part of Redis
key (task id) an is a property of Queue
(Queue._serialization_method
). This data duplication could be avoided
Controlling tasks timeouts
On worker failure, i.e. when task is not ack
ed and not fail
ed, it should be returned to the queue after desired amount of time.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.