django-celery-model is an extension to Celery and django-celery which adds support for tracking Celery tasks assigned to Django model instances.
Project description
[django-celery-model](https://github.com/mback2k/django-celery-model) is an
extension to [Celery](https://github.com/celery/celery) and
[django-celery](https://github.com/celery/django-celery)
which adds support for tracking Celery tasks assigned to Django model instances.
Installation
------------
You can install the latest version from GitHub manually:
git clone https://github.com/mback2k/django-celery-model.git
cd django-celery-model
python setup.py install
or via pip:
pip install https://github.com/mback2k/django-celery-model/zipball/master
Configuration
-------------
Add the package to your `INSTALLED_APPS`:
INSTALLED_APPS += (
'djcelery',
'djcelery_model',
)
Example
-------
Add the TaskMixin to your Django model:
from django.db import models
from django.utils.translation import ugettext_lazy as _
from djcelery_model.models import TaskMixin
class MyModel(TaskMixin, models.Model):
name = models.CharField(_('Name'), max_length=100)
Queue an asynchronous task from your Django model instance:
from .models import MyModel
from .tasks import mytask
mymodel = MyModel.objects.get(name='test instance')
mymodel.apply_async(mytask, ...)
Retrieve list of asynchronous tasks assigned to your Django model instance:
mymodel.tasks.all()
mymodel.tasks.pending()
mymodel.tasks.started()
mymodel.tasks.retrying()
mymodel.tasks.failed()
mymodel.tasks.successful()
mymodel.tasks.ready()
Check for a running or ready asynchronous task for your Django model instance:
mymodel.has_running_task
mymodel.has_ready_task
Handle asynchronous task results for your Django model instance:
mymodel.get_task_results()
mymodel.get_task_result(task_id)
mymodel.clear_task_results()
mymodel.clear_task_result(task_id)
Filter your Django model based upon asynchronous tasks:
MyModel.objects.with_tasks()
MyModel.objects.with_pending_tasks()
MyModel.objects.with_started_tasks()
MyModel.objects.with_retrying_tasks()
MyModel.objects.with_failed_tasks()
MyModel.objects.with_successful_tasks()
MyModel.objects.with_running_tasks()
MyModel.objects.with_ready_tasks()
MyModel.objects.without_tasks()
MyModel.objects.without_pending_tasks()
MyModel.objects.without_started_tasks()
MyModel.objects.without_retrying_tasks()
MyModel.objects.without_failed_tasks()
MyModel.objects.without_successful_tasks()
MyModel.objects.without_running_tasks()
MyModel.objects.without_ready_tasks()
License
-------
* Released under MIT License
* Copyright (c) 2014 Marc Hoersken <info@marc-hoersken.de>
extension to [Celery](https://github.com/celery/celery) and
[django-celery](https://github.com/celery/django-celery)
which adds support for tracking Celery tasks assigned to Django model instances.
Installation
------------
You can install the latest version from GitHub manually:
git clone https://github.com/mback2k/django-celery-model.git
cd django-celery-model
python setup.py install
or via pip:
pip install https://github.com/mback2k/django-celery-model/zipball/master
Configuration
-------------
Add the package to your `INSTALLED_APPS`:
INSTALLED_APPS += (
'djcelery',
'djcelery_model',
)
Example
-------
Add the TaskMixin to your Django model:
from django.db import models
from django.utils.translation import ugettext_lazy as _
from djcelery_model.models import TaskMixin
class MyModel(TaskMixin, models.Model):
name = models.CharField(_('Name'), max_length=100)
Queue an asynchronous task from your Django model instance:
from .models import MyModel
from .tasks import mytask
mymodel = MyModel.objects.get(name='test instance')
mymodel.apply_async(mytask, ...)
Retrieve list of asynchronous tasks assigned to your Django model instance:
mymodel.tasks.all()
mymodel.tasks.pending()
mymodel.tasks.started()
mymodel.tasks.retrying()
mymodel.tasks.failed()
mymodel.tasks.successful()
mymodel.tasks.ready()
Check for a running or ready asynchronous task for your Django model instance:
mymodel.has_running_task
mymodel.has_ready_task
Handle asynchronous task results for your Django model instance:
mymodel.get_task_results()
mymodel.get_task_result(task_id)
mymodel.clear_task_results()
mymodel.clear_task_result(task_id)
Filter your Django model based upon asynchronous tasks:
MyModel.objects.with_tasks()
MyModel.objects.with_pending_tasks()
MyModel.objects.with_started_tasks()
MyModel.objects.with_retrying_tasks()
MyModel.objects.with_failed_tasks()
MyModel.objects.with_successful_tasks()
MyModel.objects.with_running_tasks()
MyModel.objects.with_ready_tasks()
MyModel.objects.without_tasks()
MyModel.objects.without_pending_tasks()
MyModel.objects.without_started_tasks()
MyModel.objects.without_retrying_tasks()
MyModel.objects.without_failed_tasks()
MyModel.objects.without_successful_tasks()
MyModel.objects.without_running_tasks()
MyModel.objects.without_ready_tasks()
License
-------
* Released under MIT License
* Copyright (c) 2014 Marc Hoersken <info@marc-hoersken.de>
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
Built Distribution
Close
Hashes for django-celery-model-0.0.3dev.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cc1ea67eb848237d5def99f72ce44cc43900631ea4127c56214bb3b14dfec2f |
|
MD5 | 29b3b281af7e2228d275f95d60cf2c0a |
|
BLAKE2b-256 | 175eaf016b04e2af0a577262d2f8c182444f34af8a672ed91592fc37b048a33e |
Close
Hashes for django-celery-model-0.0.3dev.win32.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c5c30b6e5f5c1adcb263406b3c9e02031abbcaa58848383532bd529abecbd22 |
|
MD5 | 459520a7c4b5bad11acada25033aabd4 |
|
BLAKE2b-256 | 7e59de54c6a72fa189f24129ba677cdb33992b946cd320043185aee43f070b9e |