jumpserver/apps/common
老广 e1919d0a62
Asset meta (#3539)
- 更改了资产表单,影响
  - 资产创建和更新
- 增加了资产平台数据库,影响
  - 平台创建更新和删除
- 更改了资产的platform字段,又一个字符字段,改为一个外键,影响 
  - 资产创建和更新
  - 资产连接 [windows,linux]
  - 测试连接等ansible任务
  - 自动化云导入
- 更改了资产的序列化器,影响
  - 资产创建更新列表
- 统一了树列表基础模板,影响
  - 资产列表页,权限列表页,vault页,资产收集页
- 统一了导入导出组件,影响
  - 资产导入导出
  - 用户导入导出
  - 用户组导入导出
  - 系统用户导入导出
  - 管理用户导入导出
  - vault导出导出
  - 收集用户列表导入导出
- 修改用户更新密码信号,影响
  - 修改用户密码产生的改密日志

- 新增Model instance序列化工具函数,影响
  - 操作日志生成
- 修改api mixin,新增 serializer_classes字段,serializer_classes = {"default": "", "display": "", "list": .., "other_action": ""}, 根据用户请求的方式返回不同的serializer_class,影响

  - 用户的viewset
  - 资产权限的viewset
- 统一系统配置中的tab切换
- 统一没有nav的页面,影响
  - 重置密码
  - 忘记密码
  - 重置中设置密码
  - 独立的message页面
- 修改用户组列表页,不再返还用户组下的用户,仅有数量
- 组织的一些方法变为layzproperty,避免重复计算
- 修改用户组详情页,影响
  - 用户组增加删除用户
2019-12-16 16:53:29 +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 [Update] 修改 RemoteApp 前端 Form 渲染逻辑 (#3523) 2019-12-10 15:16:16 +08:00
migrations [Update] 修改迁移 2019-03-04 15:38:59 +08:00
mixins Asset meta (#3539) 2019-12-16 16:53:29 +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 Asset meta (#3539) 2019-12-16 16:53:29 +08:00
README.md
__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
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
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 [Update] 用户列表添加移除操作(在其他组织中) (#3513) 2019-12-09 11:50:52 +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 Asset meta (#3539) 2019-12-16 16:53:29 +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()