jumpserver/apps/common
ibuler 10d51ada37 Update login error message 2016-09-03 00:39:06 +08:00
..
templates/common Update login error message 2016-09-03 00:39:06 +08:00
templatetags Add init data file 2016-08-21 01:16:30 +08:00
README.md Add celery usage more 2016-08-31 16:48:12 +08:00
__init__.py Add celery broker 2016-08-31 15:54:04 +08:00
apps.py Add common app 2016-08-16 00:09:48 +08:00
celery.py Add celery usage more 2016-08-31 16:48:12 +08:00
models.py Add common app 2016-08-16 00:09:48 +08:00
tasks.py Add user generate reset password token 2016-08-31 19:28:06 +08:00
tests.py Add common app 2016-08-16 00:09:48 +08:00
utils.py Add forget password and reset password 2016-09-01 23:09:58 +08:00
views.py Add forget password and reset password 2016-09-01 23:09:58 +08:00

README.md

Celery usage

Jumpserver use celery to run task async. Using redis as the broker, so you should run a redis instance

Run redis

$ yum -y install redis 

or

$ docker run -name jumpserver-redis -d -p 6379:6379 redis redis-server

Write tasks in app_name/tasks.py

ops/tasks.py

from __future__ import absolute_import

import time
from celery import shared_task
from common import celery_app


@shared_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
    

@celery_app.task(name='hello-world')
def hello():
    print 'hello world!'
  

Run celery in development

$ cd apps
$ celery -A common worker -l info 

Test using task

$ ./manage.py shell
>>> from ops.tasks import longtime_add
>>> res = longtime_add.delay(1, 2)
>>> res.get()