Changelog

Here you can see the full list of changes between each Kuyruk release.

Version 10.0.0

Released on 05-12-2023.

  • Kuyruk.connection() does not return new connection anymore. It returns the underlying connection. The connection is locked while the context manager is active. If you need to hold the connection for a long time, use Kuyruk.new_connection() to create a separate connection.

Version 9.4.0

Relesed on 27-03-2020.

  • Fixed various heartbeat related bugs.

Version 9.0.6

Released on 09-03-2018.

  • Removed support for Python 2.

  • Workers do not change process title anymore.

  • Removed reject_delay argument from Kuyruk.task decorator.

  • Removed task decorator syntax without arguments.

  • Improved heartbeat handling.

  • Worker does not retry on TimeoutError exceptions.

Version 8.5.0

Released on 25-10-2017.

  • Added Windows support.

Version 8.3.0

Released on 15-04-2017.

  • Added “Kuyruk.send_tasks_to_queue” method for batch sending.

Version 8.2.0

Released on 22-02-2017.

  • Added delay for failed and rejected taks.

Version 8.1.0

Released on 25-11-2016.

  • Added RabbitMQ connection timeout values to config.

Version 8.0.0

Released on 23-11-2016.

  • Removed “queue” key from task description dictionary.

  • Improve error handling when closing connections and channels.

Version 7.0.0

Released on 01-11-2016.

  • Removed local argument from Kuyruk.task decorator.

Version 6.0.0

Released on 01-11-2016.

  • Changed WORKER_MAX_LOAD behavior. None disables the feature. Set to -1 for number of CPUs on host.

  • Add argumens to worker command to override WORKER_MAX_LOAD and WORKER_MAX_RUN_TIME config values.

  • Renamed ConnectionError to HeartbeatError.

  • Removed Task.run_in_queue method. Use Task.send_to_queue with wait_result argument instead.

  • Removed local argument from Task.send_to_queue method. Pass host="localhost" for sending to local queue.

  • Removed local argument from worker command. If queue name ends with ".localhost" hostname will be appended to queue name.

  • Removed deprecated Worker.queue property.

  • Removed WORKER_LOGGING_CONFIG configuration value.

  • Added --logging-level to worker command arguments.

  • Removed Worker.config property.

  • Added message_ttl argument to Task.send_to_queue method.

Version 5.1.0

Released on 26-10-2016.

  • Added Task.run_in_queue context manager for getting task results.

Version 5.0.0

Released on 19-10-2016.

  • Removed kuyruk_host and kuyruk_local arguments from task calls.

  • Exported Task.send_to_queue method.

Version 4.1.2

Released on 18-10-2016.

  • Fixed 1 second delay after processing a task.

  • Fixed a depreciation warning from recent version of amqp library.

Version 4.1.0

Released on 11-03-2016.

  • Workers can consume tasks from multiple queues.

Version 4.0.7

Released on 12-02-2016.

  • Export Task.name property for fixing a bug in kuyruk-manager.

Version 4.0.6

Released on 08-02-2016

  • Fixed a bug related with Python 2.7.11, uWSGI and setproctitle.

Version 2.0.0

Released on 03-12-2014.

This is major rewrite of Kuyruk and it is not backwards compatible.

  • Added Python 3 support.

  • Replaced pika with amqp.

  • Fixed multi-threading issues.

  • Removed master subcommand.

  • Removed scheduler subcommand.

  • Removed requeue subcommand.

  • Removed manager subcommand.

  • Exceptions are not sent to Sentry.

  • Failed tasks are not saved to Redis anymore.

  • Failed tasks are retried in the same worker.

  • Unknown keys in config are now errors.

  • Changed some config variable names.

  • Worker command takes Kuyruk instance instead of config file.

Version 1.2.1

Released on 25-08-2014.

  • Fixed a worker startup bug happens when running workers as another user.

Version 1.2.0

Released on 09-06-2014.

  • Added periodic task scheduler feature.

Version 1.1.0

Released on 07-06-2014.

  • Added Task.delay() function alias for easy migration from Celery.

Version 1.0.0

Released on 20-05-2014.

  • Use rpyc library for manager communication.

Version 0.24.3

Released on 05-03-2014.

  • Reverted the option to give Task class from configuration. This caused master to import from user code.

  • Added sleep after respawn_worker to prevent cpu burning.

Version 0.24.2

Released on 16-01-2014.

  • Added the option to give Task class from configuration.

Version 0.24.1

Released on 13-01-2014.

  • Prevented ‘close’ to be called on a nonexistent connection.

Version 0.23.3

Released on 15-09-2013.

  • Fix the bug about freezing processes on exit.

Version 0.23.2

Released on 12-09-2013.

  • Fix unclosed socket error on manager.

Version 0.23.0

Released on 30-08-2013.

  • Removed InvalidCall exception type. TypeError or AttributeError is raised instead.

  • If a kuyruk process exits with a signal, the exit code will be 0.

Version 0.22.1

Released on 27-08-2013.

  • Master uses os.wait() instead of polling workers every second.

Version 0.22.0

Released on 25-08-2013.

  • Use forking again instead Popen after fixing import issue.

  • Add “Quit Task” button to Manager interface.

Version 0.21.0

Released on 17-08-2013.

  • Drop support for Python 2.6.

  • Switch back to subprocess module from forking.

Version 0.20.3

Released on 10-08-2013.

  • Use fork() directly instead of subprocess.Popen() when starting workers from master.

Version 0.20.2

Released on 03-08-2013.

First public release.