Commit 363ddb70 authored by yumaojun03's avatar yumaojun03

add celery support (not use django-celery)

parent 97a2e8bb
from __future__ import absolute_import
from celery import Celery
# import traceback
# # Import project config setting
# try:
# from config import config as env_config, env
# JMS_CONF = env_config.get(env, 'default')()
# print "ok"
# except ImportError:
# traceback.print_exc()
# JMS_CONF = type('_', (), {'__getattr__': None})()
# print "false"
app = Celery('common',
broker='redis://localhost:6379/0',
backend='redis://localhost:6379/0',
include=['ops.tasks'])
......@@ -23,8 +23,6 @@ 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})()
......@@ -57,7 +55,6 @@ 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
from __future__ import absolute_import
from common.celery import app
import time
@app.task
def longtime_add(x, y):
print 'long time task begins'
# sleep 5 seconds
time.sleep(5)
print 'long time task finished'
return x + y
\ 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