相关疑难解决方法(0)

Django和Celery - 在更改后将代码重新加载到Celery中

如果我在芹菜运行时对tasks.py进行了更改,是否有一种机制可以重新加载更新的代码?或者我必须关闭芹菜重新装载?

我读过芹菜--autoreload在旧版本中有一个参数,但我在当前版本中找不到它:

celery: error: unrecognized arguments: --autoreload

django celery django-celery

20
推荐指数
1
解决办法
7165
查看次数

Django Celery Beat管理员更新Cron计划周期性任务未生效

我在CentOS 7上使用Django 10,RabbitMQ和Celery 4运行一个站点.

我的Celery Beat和Celery Worker实例由主管控制,我正在使用django celery数据库调度程序.

我在Django-admin中使用cronsheduler计划了一个cron样式的任务.

当我开始芹菜殴打和工人实例时,工作按预期开火.

但是如果在Django-admin中更改计划时间,那么除非我重新启动celery-beat实例,否则不会获取更改.

有什么我缺少或我需要编写自己的调度程序吗?

Celery Beat与'django_celery_beat.schedulers.DatabaseScheduler'一起从数据库加载计划.根据以下文档https://media.readthedocs.org/pdf/django-celery-beat/latest/django-celery-beat.pdf,这将迫使Celery Beat重新加载:

以特定间隔(例如,每5秒)运行的计划.•django_celery_beat.models.CrontabSchedule包含cron中的条目的字段的计划:分钟星期几day_of_month month_of_year.

django_celery_beat.models.PeriodicTasks此模型仅用作跟踪计划更改时间的索引.每当您更新PeriodicTask时,此表中的计数器也会递增,这会告诉芹菜节拍服务从数据库重新加载计划.如果批量更新定期任务,则需要手动更新计数器:

from django_celery_beat.models import PeriodicTasks
PeriodicTasks.changed()
Run Code Online (Sandbox Code Playgroud)

从上面我可以看到Celery Beat流程定期检查表格是否有任何变化.

django centos rabbitmq celery django-celery

10
推荐指数
1
解决办法
3026
查看次数

Django自动重载:添加监视的文件

当我的项目中的源文件更改时,django服务器将重新加载。我想将此扩展到非Python源文件。我使用本地SQL查询,这些查询存储在单独的文件(例如big_select.sql)中,并且我希望服务器在这些文件更改时重新加载。

我在Windows上使用django。

我尝试添加.py扩展名,但是没有用。

python django

5
推荐指数
2
解决办法
2631
查看次数

标签 统计

django ×3

celery ×2

django-celery ×2

centos ×1

python ×1

rabbitmq ×1