Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.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 是否有一个动态调度系统来更好地实施基于订阅的支付系统?_Python_Django_Scheduling_Subscription_Celerybeat - Fatal编程技术网

Python 是否有一个动态调度系统来更好地实施基于订阅的支付系统?

Python 是否有一个动态调度系统来更好地实施基于订阅的支付系统?,python,django,scheduling,subscription,celerybeat,Python,Django,Scheduling,Subscription,Celerybeat,我在Django用python从头开始制作订阅支付系统。我使用芹菜节拍来完成一项计划任务,并使用RabbitMQ作为队列代理。django_Cellery_beat使用了DatabaseScheduler,这导致了问题。 将简单任务分派给代理需要很长时间。我用它来让用户过期。对于一些过期任务,大约需要60秒到150秒。但通常需要100到500毫秒 另一个问题是,当我重新安排某个任务时,当它被写入数据库时,会因为一些奇怪的原因阻塞调度程序,因此错过了多个任务。 我一直在研究ApacheAirflo

我在Django用python从头开始制作订阅支付系统。我使用芹菜节拍来完成一项计划任务,并使用RabbitMQ作为队列代理。django_Cellery_beat使用了DatabaseScheduler,这导致了问题。

  • 将简单任务分派给代理需要很长时间。我用它来让用户过期。对于一些过期任务,大约需要60秒到150秒。但通常需要100到500毫秒

  • 另一个问题是,当我重新安排某个任务时,当它被写入数据库时,会因为一些奇怪的原因阻塞调度程序,因此错过了多个任务。

  • 我一直在研究ApacheAirflow,因为它是作为行业标准的调度解决方案销售的

    但我不认为,这对我的小项目是适用和可行的


    如果您使用过订阅支付系统,您能告诉我如何继续使用该系统吗?

    我有一个很长的解决方案,我为一个类似的项目实施了这个解决方案

  • 首先,我将计划保存为数据库中的模型
  • 接下来,我有一个cron作业,它获取当天需要运行的条目
  • 然后根据调度模型中设置的时间设置ETA,将这些作业作为普通芹菜作业进行调度
  • 在我的例子中,芹菜就是这样从Redis发出信息的。如果没有直接的答案,试试看