jumpserver/apps/common
老广 4944ac8e75 Config (#3502)
* [Update] 修改config

* [Update] 移动存储设置到到terminal中

* [Update] 修改permission 查看

* [Update] pre merge

* [Update] 录像存储

* [Update] 命令存储

* [Update] 添加存储测试可连接性

* [Update] 修改 meta 值的 key 为大写

* [Update] 修改 Terminal 相关 Storage 配置

* [Update] 删除之前获取录像/命令存储的代码

* [Update] 修改导入失败

* [Update] 迁移文件添加default存储

* [Update] 删除之前代码,添加help_text信息

* [Update] 删除之前代码

* [Update] 删除之前代码

* [Update] 抽象命令/录像存储 APIView

* [Update] 抽象命令/录像存储 APIView 1

* [Update] 抽象命令/录像存储 DictField

* [Update] 抽象命令/录像存储列表页面

* [Update] 修复CustomDictField的bug

* [Update] RemoteApp 页面添加 hidden

* [Update] 用户页面添加用户关联授权

* [Update] 修改存储测试可连接性 target

* [Update] 修改配置

* [Update] 修改存储前端 Form 渲染逻辑

* [Update] 修改存储细节

* [Update] 统一存储类型到 const 文件

* [Update] 修改迁移文件及Model,创建默认存储

* [Update] 修改迁移文件及Model初始化默认数据

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 限制删除默认存储配置,只允许创建扩展的存储类型

* [Update] 修改ip字段长度

* [Update] 修改ip字段长度

* [Update] 修改一些css

* [Update] 修改关联

* [Update] 添加操作日志定时清理

* [Update] 修改记录syslog的instance encoder

* [Update] 忽略登录产生的操作日志

* [Update] 限制更新存储时不覆盖原有AK SK 等字段

* [Update] 修改迁移文件添加comment字段

* [Update] 修改迁移文件

* [Update] 添加 comment 字段

* [Update] 修改默认存储no -> null

* [Update] 修改细节

* [Update] 更新翻译(存储配置

* [Update] 修改定时任务注册,修改系统用户资产、节点关系api

* [Update] 添加监控磁盘任务

* [Update] 修改session

* [Update] 拆分serializer

* [Update] 还原setting原来的manager
2019-12-05 15:09:25 +08:00
..
auth Dev beta (#3048) 2019-08-21 20:27:21 +08:00
drf Config (#3502) 2019-12-05 15:09:25 +08:00
fields Config (#3502) 2019-12-05 15:09:25 +08:00
migrations [Update] 修改迁移 2019-03-04 15:38:59 +08:00
mixins Config (#3502) 2019-12-05 15:09:25 +08:00
templatetags [Update] 修改org mixin 2019-06-25 20:32:12 +08:00
urls Dev csv (#2640) 2019-05-21 16:24:01 +08:00
utils Config (#3502) 2019-12-05 15:09:25 +08:00
README.md Finish permissin detail asset list and user list 2016-09-14 23:29:39 +08:00
__init__.py [Update] 迁移celery到ops 2018-04-02 13:19:31 +08:00
api.py Asset favor (#3352) 2019-10-18 15:05:45 +08:00
apps.py Bugfix (#3232) 2019-09-17 12:34:47 +08:00
compat.py Finish access key auth 2016-12-25 13:15:28 +08:00
const.py [Bugfix] 解决下载导入模版时KeyError的问题(数据为空时) (#3017) 2019-07-24 12:50:39 +08:00
decorator.py Dev ansible windows 2 (#2783) 2019-06-13 18:58:43 +08:00
exceptions.py [Feature] 修改ansible和ops 2017-12-07 13:01:33 +08:00
http.py Perf (#2929) 2019-07-11 18:12:14 +08:00
local.py [Update] 修改assets users api 2019-06-25 14:32:25 +08:00
permissions.py [Bugfix] 修复用户认证序列类获取 request 的问题 2019-09-16 17:59:21 +08:00
serializers.py Dev beta (#3048) 2019-08-21 20:27:21 +08:00
signals.py [Update] 修改settings配置 (#2067) 2018-11-22 12:27:27 +08:00
signals_handlers.py Config (#3502) 2019-12-05 15:09:25 +08:00
struct.py [Update] 优化树结构 2019-06-27 21:43:10 +08:00
tasks.py Config (#3502) 2019-12-05 15:09:25 +08:00
tests.py [Update] 修改表结构 2019-06-24 22:16:39 +08:00
tree.py [Bugfix] 修复 TreeNode bug 2019-10-18 15:23:46 +08:00
validators.py Dev ansible windows 2 (#2783) 2019-06-13 18:58:43 +08:00

README.md

Common app

Common app provide common view, function or others.

Common app shouldn't rely on other apps, because It may lead to cycle import.

If your want to implement some function or class, you should think whether other app use or not. If yes, You should make in common.

If the ability more relate to your app tightness, It's mean your app provide this ability, not common, You should write it on your app utils.

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