- Refactored CLI commands and logging format
- Added factory methods to supervisors
- Fixed bug in rabbitmq backend module
- Moved factory logic for client creation to from_url method on client module
- Added TasqFuture result from clients result, to return more structured results with additional informations about execution.
- Added a TasqQueue class for more convenient uses
- Fixed some bugs
- Renamed
master
->supervisor
- Added RabbitMQ to supported backends, still working on a common interface
- Refactored some parts on connection
- Refactored log system
- Started backend broker support for job queues and persistence
- Add redis client
- Added repeated jobs capabilities to process/thread queue workers too (Previously only Actor worker could achieve that)
- Fixed some bugs, renamed
ProcessWorker
->QueueWorker
andProcessMaster
->QueueMaster
- Added the possibility to choose the type of workers of each master process,
can be either a pool of actors or a pool of processes, based on the nature of
the majority of the jobs that need to be executed. A majority of I/O bound
operations should stick to
ActorMaster
type workers, in case of CPU bound tasksQueueMaster
should give better results.
- Decoupled connection handling from
tasq.remote.master
andtasq.remote.client
into a dedicated module tasq.remote.connection
- Simple implementation of digital signed data sent through sockets, this way sender and receiver have a basic security layer to check for integrity and legitimacy of received data
- Added a ClientPool implementation to schedule jobs to different workers by using routers capabilities
- Refactored client code, now it uses a Future system to handle results and return a future even while scheduling a job in a non-blocking manner
- Improved logging
- Improved representation of a Job in string
-
Added first implementation of delayed jobs
-
Added first implementation of interval-scheduled jobs
-
Added a basic ActorSystem like and context to actors
-
Refactored some parts, removed Singleton and Configuration classes from init.py
- Fixed minor bug in initialization of multiple workers on the same node
- Added support for pending tasks on the client side
- Renamed some modules
- Added basic logging to modules
- Defined a client supporting sync and async way of scheduling jobs
- Added routing logic for worker actors
- Refactored code
- Added asynchronous way of handling communication on ZMQ sockets
- Switch to PUSH/PULL pattern offered by ZMQ
- Subclassed ZMQ sockets in order to handle cloudpickle serialization
- First unfinished version, WIP