Stores job id in a cookie. Upon reload, checks if job is still busy. If busy, no new jobs are started. Some messaging for users to give them information about the job status.
37 lines
891 B
Python
37 lines
891 B
Python
from __future__ import absolute_import
|
|
|
|
import os
|
|
|
|
from celery import Celery
|
|
from celery import result
|
|
|
|
# Only used for testing with Celery on localhost. RQ is not available
|
|
# on Windows, so I use Celery on my notebook.
|
|
|
|
# set the default Django settings module for the 'celery' program.
|
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'rowsandall_app.settings_dev')
|
|
|
|
from django.conf import settings # noqa
|
|
|
|
|
|
app = Celery('tasks',
|
|
broker='redis://localhost',
|
|
backend='redis://localhost',)
|
|
|
|
|
|
class Config:
|
|
CELERY_TIMEZONE = 'Europe/Prague'
|
|
|
|
# Using a string here means the worker will not have to
|
|
# pickle the object when using Windows.
|
|
app.config_from_object('django.conf:settings')
|
|
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
|
|
|
|
|
|
database_url = 'sqlite:///db.sqlite3'
|
|
|
|
@app.task(bind=True)
|
|
def debug_task(self):
|
|
print('Request: {0!r}'.format(self.request))
|
|
|