Celery-Tryton
=============

Celery integration with Tryton.
It defines an abstract base Task class that runs inside a Tryton transaction.

Getting Started
---------------

Here is a simple application::

    from celery import Celery
    from celery_tryton import TrytonTask
    from trytond.pool import Pool

    celery = Celery('hello', broker='amqp://guest@localhost//')
    celery.conf.TRYTON_DATABASE = 'test'

    @celery.task(base=TrytonTask)
    def hello(user_id):
        User = Pool().get('res.user')
        user = User(user_id)
        return 'hello world, %s' % user.name

Configuration
-------------

All standard celery configuration options will work but in addition
`TRYTON_DATABASE` must be set to the Tryton database name and optionally
`TRYTON_CONFIG` to load a specific configuration file.

Example
-------

Start a worker::

    $ celery worker --app=examples.purchase_requests

Call `generate_all` task::

    $ celery call examples.purchase_requests.generate_all

For more information please visit the `celery_tryton website`_.

.. _celery_tryton website: http://code.google.com/p/celery-tryton/
