dvadmin_celery
介绍
dvadmin-celery 插件是集成 django-celery-beat、tenant-schemas-celery、django-redis、django-celery-results 的一个后端插件,
安装可快速使用异步任务,包含在线添加任务、启停任务、查看任务记录等功能。
与之相对应的是 dvadmin-celery-web 前端插件
安装包
使用pip安装软件包:
pip install dvadmin-celery
目录结构:
dvadmin-celery
| dvdadmin_celery
| | fixtures
| | | __init__.py
| | | init_menu.json
| | | initialize.py
| | views
| | | __init__.py
| | | crontab_schedule.py
| | | interval_schedule.py
| | | periodic_task.py
| | | task.py
| | | task_detail.py
| | __init__.py
| | admin.py
| | apps.py
| | settings.py
| | tasks.py
| | urls.py
| setup.py
方式一: 一键导入注册配置
在 application / settings.py 插件配置中下导入默认配置
...
from dvadmin_celery.settings import *
方式二: 手动配置
在INSTALLED_APPS 中注册app(注意先后顺序)
INSTALLED_APPS = [
...
'django_celery_beat',
'django_celery_results',
'dvadmin_celery',
]
在 application / urls.py 中注册url地址
urlpatterns = [
...
path(r'api/dvadmin_celery/', include('dvadmin_celery.urls')),
]
如果没有系统redis,请启动redis并添加配置 (./conf/env.example.py 及 ./conf/env.py中添加如下配置)
# redis 配置
REDIS_PASSWORD = '' # 如果没密码就为空
REDIS_HOST = '127.0.0.1'
REDIS_URL = f'redis://:{REDIS_PASSWORD or ""}@{REDIS_HOST}:6379'
在 application / settings.py 下添加配置
...
CACHES = { # 配置缓存
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": f'{REDIS_URL}/1', # 库名可自选1~16
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
}
BROKER_URL = f'{REDIS_URL}/2' # 库名可自选1~16
CELERY_RESULT_BACKEND = 'django-db' # celery结果存储到数据库中
CELERYBEAT_SCHEDULER = 'django_celery_beat.schedulers.DatabaseScheduler' # Backend数据库
进行迁移及初始化
python3 manage.py makemigrations
python3 manage.py migrate
# 注意备份初始化信息
python3 manage.py init -y
其他配置请参考 django_celery_beat 和 celery 文档
使用说明
mac/linux:
celery -A application.celery worker -B --loglevel=info
win:
需要安装: pip install eventlet,需要启动两个程序(worker + beat 顺序不分先后)
celery -A application.celery worker -P eventlet --loglevel=info
celery -A application.celery beat --loglevel=info
注意
如果 celery worker 报错 KeyError,可尝试在django_vue_admin/application/celery.py文件里将
app = Celery(f"application")
改为
app = Celery(f"application", include=['dvadmin_celery.tasks'])
再重启尝试
redis下载地址:
Mac/Linux下载 http://download.redis.io/releases/
Windows下载 https://github.com/tporadowski/redis/releases/
Metadata
Release files for dvadmin-celery 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dvadmin-celery-1.0.5.tar.gz | 10.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dvadmin_celery-1.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.5 kB
Release files / dvadmin-celery-1.0.5.tar.gz
| Download URL | dvadmin-celery-1.0.5.tar.gz |
|---|---|
| Size | 10.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5dfe0843c9b8f093cb57e818709578dceadd23cc11395c6768c141462b61eb34
|
|
BLAKE2b-256 checksum How to use checksums |
f6d165336ac9e0107170335ff23bf562abdcb2c212c9f164cb2aaf44c639ae84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8
|
Release files / dvadmin_celery-1.0.5-py3-none-any.whl
| Download URL | dvadmin_celery-1.0.5-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
01ed3f83395fa539d71bcf523843536c4e2bb04f605a3fcc277df5aa50a1358d
|
|
BLAKE2b-256 checksum How to use checksums |
ed8094c7e4535704003e9841602499d72f9db125f293c675554d560336f65ce4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8
|