django-celery-model is an extension to Celery which adds support for tracking Celery tasks assigned to Django model instances.
Project description
django-celery-model is an extension to Celery which adds support for tracking Celery tasks assigned to Django model instances.
Installation
Install the latest version from pypi.python.org:
pip install django-celery-model
Install the development version by cloning the source from github.com:
pip install git+https://github.com/mback2k/django-celery-model.git
Configuration
Add the package to your INSTALLED_APPS
:
INSTALLED_APPS += (
'djcelery_model',
)
Make sure that you are receiving Celery events via:
CELERY_TASK_TRACK_STARTED = True
CELERY_TASK_SEND_SENT_EVENT = True
CELERY_SEND_EVENTS = True
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.running()
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-2019 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
Hashes for django-celery-model-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a77067244f215115b09a8718471df0d1c28069dc4093965e2b18b85297bf1f87 |
|
MD5 | 636f1cbdace23a0d49084771ad9ba3d4 |
|
BLAKE2b-256 | 836ee6029b5bfd7340503ecb5b95b4f2dcc4af56a1fbd1f127b45cfb4ca2c243 |
Hashes for django_celery_model-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 698c1c1ee42f33919a4be2fbc5ef7406e5008cc9803f07b7a7b07da473f9061d |
|
MD5 | c169efa21ad74c3a09b1868c1d3a1c89 |
|
BLAKE2b-256 | 99c3e920bdfbbde2279be6919d2661efe8338387c5ce48fb4f12b050984b2a8c |