Machinery is an asynchronous task queue/job queue based on distributed message passing.
MPL-2.0 License
Bot releases are hidden (Show)
Published by RichardKnop over 6 years ago
This releases contains some bug fixes and a new feature:
Published by RichardKnop over 6 years ago
This releases contains some bug fixes and a new feature:
tasks.NewErrRetryTaskLater
)Published by RichardKnop over 6 years ago
This release contains few bigger changes as well as several small improvements and bug fixes.
Published by RichardKnop almost 7 years ago
Config loading would result in AMQP config being present even for non AMQP brokers because the default config contains it. This has been fixed so non AMQP configs are loaded correctly with AMQP config object being nil.
Published by RichardKnop almost 7 years ago
Better documentation, tests and README for AWS SQS.
Published by RichardKnop almost 7 years ago
Machinery now supports AWS SQS broker.
Published by RichardKnop almost 7 years ago
AdjustRoutingKey
has been fixed to check broker type and only rewrite routing key to binding key if the broker is AMQP and exchange is direct. Ignore this logic for Redis / other non AMQP brokers.
Published by RichardKnop almost 7 years ago
Tasks should be acked AFTER processing not before. This was fixed before but reverted by mistake.
See here: https://www.rabbitmq.com/confirms.html
Delivered tasks will be re-queued in case worker connection is lost. But otherwise ack should be sent after task is processed, not in advance.
Published by RichardKnop almost 7 years ago
Delayed tasks with other than default queue as routing key did not work with Redis broker as once delayed task was fetched from the delayed_tasks queue, it was processed by the current worker process instead of being published to a proper queue (which might be different than current worker instance).
Published by RichardKnop almost 7 years ago
Refactored and simplified config creation methods. Do not store config in internal variable anymore (was causing issues with multi config setups).
Published by RichardKnop almost 7 years ago
Added a non blocking LaunchAsync
method to worker struct as alternative to blocking Launch
.
Published by RichardKnop almost 7 years ago
First Ctrl+C starts graceful shutdown (i.e. wait for running tasks to finish before shutting down). Second Ctrl+C will just abruptly end the program without waiting for tasks.
Published by RichardKnop almost 7 years ago
When there are running tasks and you call worker.Quit()
method, the process will wait for all running tasks to be processed first before shutting down.
Published by RichardKnop almost 7 years ago
Updated dep cli tool and all vendored dependencies.
Published by RichardKnop almost 7 years ago
Fixed gometalinter issue on Travis CI so builds now pass successfully. Usage of native go tool vet
is enforced now via gometalinter.json
config file.
Published by RichardKnop almost 7 years ago
When a task has OnSuccess
callback, the returned arguments are appended to the callback task instead of prepended.
Published by RichardKnop about 7 years ago
Small MongoDB Backend Improvement to allow storing task results as bson.Json
.
Published by RichardKnop about 7 years ago
Error channel in SendGroup could potentially have up to number of tasks * 2 size. Channel size increased to accomodate for this eventuality.
Published by RichardKnop about 7 years ago
Fixed a bug in SendGroup pooling logic which meant all tasks would be sent synchronously irrespective of the concurrency parameter.
Published by RichardKnop about 7 years ago
When using AMQP as backend, x-expires
parameter is set when declaring a queue in order to set/update task state. This ensures task state queues will eventually get cleanup up.