mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ibuler
10d51ada37
|
8 years ago | |
---|---|---|
.. | ||
templates/common | 8 years ago | |
templatetags | 8 years ago | |
README.md | 8 years ago | |
__init__.py | 8 years ago | |
apps.py | 8 years ago | |
celery.py | 8 years ago | |
models.py | 8 years ago | |
tasks.py | 8 years ago | |
tests.py | 8 years ago | |
utils.py | 8 years ago | |
views.py | 8 years ago |
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()