Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python djcelery PeriodictTasks.changed方法-更新查询运行缓慢_Python_Django_Django Celery_Celerybeat_Celeryd - Fatal编程技术网

Python djcelery PeriodictTasks.changed方法-更新查询运行缓慢

Python djcelery PeriodictTasks.changed方法-更新查询运行缓慢,python,django,django-celery,celerybeat,celeryd,Python,Django,Django Celery,Celerybeat,Celeryd,我一直在使用芹菜(3.1)、django芹菜(3.1.17)(即django芹菜)和django(1.9)来安排任务。最近我注意到,对PeriodicTasks表的一个更新查询需要花费大量时间(大约1分钟),因此整个调度任务的过程都很慢。通过pre_save和pre_deletesingals on调用对模型PeriodicTasks的更新查询。因此,每当在PeriodicTask表中添加一个新对象时,信号就会触发和调用,只需一次又一次地更新相同PeriodicTask对象的值 我假设更新查询工

我一直在使用芹菜(3.1)、django芹菜(3.1.17)(即django芹菜)和django(1.9)来安排任务。最近我注意到,对
PeriodicTasks
表的一个更新查询需要花费大量时间(大约1分钟),因此整个调度任务的过程都很慢。通过
pre_save
pre_delete
singals on调用对模型
PeriodicTasks
的更新查询。因此,每当在
PeriodicTask
表中添加一个新对象时,信号就会触发和调用,只需一次又一次地更新相同PeriodicTask对象的值

我假设更新查询工作得很慢,因为数百万个任务在很短的时间内发布,并且对于每个任务,相同的PeriodicTasks对象都会得到更新

问题是(如果我不想升级到芹菜4.x),这个更新(关于
PeriodicTasks
object)的目的是什么?如果我将删除,它会以任何方式影响django芹菜的功能吗

还需要指出的是,对于celery4,同样的信号调用也会发生在
pre\u save
pre\u delete
上。所以,即使我升级到celery4,它也帮不了我

更新 我在
djcelery/models.py
中对两个信号调用进行了注释,结果一切正常。现在的问题是,这次更新调用的目的是什么?为什么调用这些信号来更新相同的
PeriodicTasks
实例