mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-05-31 02:44:59 +00:00
* perf: 重命名 signal handlers * fix: 修复 ticket processor 问题 * perf: 修改 ticket 处理人api * fix: 修复创建系统账号bug * fix: 升级celery_beat==2.2.1和flower==1.0.0;修改celery进程启动参数先后顺序 * perf: 修改 authentication token * fix: 修复上传权限bug * fix: 登录页面增加i18n切换; * fix: 系统角色删除限制 * perf: 修改一下 permissions tree * perf: 生成 i18n * perf: 修改一点点 Co-authored-by: ibuler <ibuler@qq.com> Co-authored-by: feng626 <1304903146@qq.com> Co-authored-by: Jiangjie.Bai <bugatti_it@163.com>
35 lines
904 B
Python
35 lines
904 B
Python
from django.utils import translation
|
|
from django.core.cache import cache
|
|
from celery.signals import task_prerun, task_postrun, before_task_publish
|
|
|
|
from common.db.utils import close_old_connections
|
|
|
|
|
|
TASK_LANG_CACHE_KEY = 'TASK_LANG_{}'
|
|
TASK_LANG_CACHE_TTL = 1800
|
|
|
|
|
|
@before_task_publish.connect()
|
|
def before_task_publish(headers=None, **kwargs):
|
|
task_id = headers.get('id')
|
|
current_lang = translation.get_language()
|
|
key = TASK_LANG_CACHE_KEY.format(task_id)
|
|
cache.set(key, current_lang, 1800)
|
|
|
|
|
|
@task_prerun.connect()
|
|
def on_celery_task_pre_run(task_id='', **kwargs):
|
|
# 关闭之前的数据库连接
|
|
close_old_connections()
|
|
|
|
# 保存 Lang context
|
|
key = TASK_LANG_CACHE_KEY.format(task_id)
|
|
task_lang = cache.get(key)
|
|
if task_lang:
|
|
translation.activate(task_lang)
|
|
|
|
|
|
@task_postrun.connect()
|
|
def on_celery_task_post_run(**kwargs):
|
|
close_old_connections()
|