jumpserver/apps/common
广宏伟 e61341df79 Update README.md to README.rst 2016-08-31 16:33:05 +08:00
..
templatetags Add init data file 2016-08-21 01:16:30 +08:00
README.rst Update README.md to README.rst 2016-08-31 16:33:05 +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 broker 2016-08-31 15:54:04 +08:00
models.py Add common app 2016-08-16 00:09:48 +08:00
tests.py Add common app 2016-08-16 00:09:48 +08:00
utils.py Add init data file 2016-08-21 01:16:30 +08:00
views.py Add common app 2016-08-16 00:09:48 +08:00

README.rst

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## Celery 

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


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

* 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()
```

### celery usage of jumpserver
Jumpserver use celery to run task async. Using redis as the broker, so you should run a redis instance, Lets start it

**Run redis server **
'' $ yum -y install redis
'' or
'' $ docker run -name jumpserver-redis -d -p 6379:6379 redis redis-server

**