Skip to main content

A distributed task runner

Project description

Kuyruk is a simple and easy way of distributing tasks to run on servers.

It uses RabbitMQ as message broker and depends on Pika which is a pure-Python RabbitMQ client library.

How to install?

Kuyruk is available on PyPI.

$ pip install kuyruk

How to run tests?

Normally you don’t need this but it is easy. kuyruk/test directory contains files of both unit and integration tests. Make sure that RabbitMQ is running before running tests. Tests also run on Travis CI automatically on push.

https://travis-ci.org/cenkalti/kuyruk.png
$ git clone git://github.com/cenkalti/kuyruk.git
$ cd kuyruk
$ pip install -r kuyruk/test/requirements.txt
$ nosetests

How to define tasks?

Instantiate a Kuyruk object somewhere. Then just put a kuyruk.task decorator on top of your function that you want to run in background. After decorating, when you call the function it will send the task to default queue instead of running the function. Since Kuyruk does not support a result backend yet you should not be using the return value of the function.

from kuyruk import Kuyruk

kuyruk = Kuyruk()

@kuyruk.task
def echo(message):
    print message

# This will send a message to queue
echo('Hello, Kuyruk.')

How to run the worker?

Running the worker command with no parameters is enough for processing the tasks in the default queue.

$ kuyruk worker

Where is the documentation?

Here it is: http://kuyruk.readthedocs.org

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Kuyruk-0.13.6.tar.gz (28.0 kB view details)

Uploaded Source

File details

Details for the file Kuyruk-0.13.6.tar.gz.

File metadata

  • Download URL: Kuyruk-0.13.6.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Kuyruk-0.13.6.tar.gz
Algorithm Hash digest
SHA256 acf69414ed73af21c59b0d8498d146a2cc13f987a2ea8968f2bb0e5f54c74306
MD5 31223b52c16e82040b83b83f92182e92
BLAKE2b-256 575bfa52c0cc0e3e8e94109301b19b7963a0679c0cebcf72d4828fab1076c6d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page