适用于 django-vue-admin 的celery异步插件
Project description
dvadmin_celery
介绍
这是一个dvadmin_celery的最新代码build,供个人使用。
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/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for dvadmin-celery-newcode-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26b0e96a3a470519f221c2f4fc1d0a790412d9d9f723b33cc64f60ea7acd58d4 |
|
MD5 | 3975359fb2abd0034d17b83816c7d5be |
|
BLAKE2b-256 | 822fd4d3c7fbaca3efe406944256cc5e0691aad9f6915dcc598040895bfabdf8 |
Close
Hashes for dvadmin_celery_newcode-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87d64bb2ebcea577e5c83d037e6f7f9ab084af1706eadd8178b4ee687554a4a7 |
|
MD5 | 73614fa448821ebb34568d97afce900f |
|
BLAKE2b-256 | 51564cfe47e371796ddff3d9d325e9fb4fbc59cabcfbc82ffbd6feadff75e4e0 |