Commit 97a2e8bb authored by yumaojun03's avatar yumaojun03

test add celery

parent 8b0f31c4
......@@ -23,6 +23,8 @@ sys.path.append(os.path.dirname(BASE_DIR))
try:
from config import config as env_config, env
CONFIG = env_config.get(env, 'default')()
BROKER_URL = CONFIG.BROKER_URL
except ImportError:
CONFIG = type('_', (), {'__getattr__': None})()
......@@ -55,6 +57,7 @@ INSTALLED_APPS = [
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'djcelery',
]
MIDDLEWARE = [
......
from celery import Celery
from django.conf import settings
from time import sleep
app = Celery('ops', broker=settings.BROKER_URL)
@app.task()
def UploadTask(message):
# Update the state. The meta data is available in task.info dicttionary
# The meta data is useful to store relevant information to the task
# Here we are storing the upload progress in the meta.
UploadTask.update_state(state='PROGRESS', meta={'progress': 0})
sleep(30)
UploadTask.update_state(state='PROGRESS', meta={'progress': 30})
sleep(30)
return message
def get_task_status(task_id):
# If you have a task_id, this is how you query that task
task = UploadTask.AsyncResult(task_id)
status = task.status
progress = 0
if status == u'SUCCESS':
progress = 100
elif status == u'FAILURE':
progress = 0
elif status == 'PROGRESS':
progress = task.info['progress']
return {'status': status, 'progress': progress}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment