Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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 googleappengine如何一个接一个地调度cron_Python_Google App Engine - Fatal编程技术网

Python googleappengine如何一个接一个地调度cron

Python googleappengine如何一个接一个地调度cron,python,google-app-engine,Python,Google App Engine,嗨,嗯,正在努力解决一个问题。我创建了大量的cron,我希望按照特定的顺序一个接一个地运行它们。假设我有A、B、C和D个Cron,希望在Cron A完成后运行Cron B,然后运行Cron D,在Cron C完成后运行Cron D。我搜索了一种方法来完成此任务,但没有找到任何方法。有人能帮忙吗?虽然我同意评论中的建议,但我认为我有更好的办法来解决你的问题(希望:) 虽然没有必要在应用程序中使用拉队列,但可以方便地设计问题。我建议的模式如下: 1) servlet集中处理各种任务的执行(我们称之为

嗨,嗯,正在努力解决一个问题。我创建了大量的cron,我希望按照特定的顺序一个接一个地运行它们。假设我有A、B、C和D个Cron,希望在Cron A完成后运行Cron B,然后运行Cron D,在Cron C完成后运行Cron D。我搜索了一种方法来完成此任务,但没有找到任何方法。有人能帮忙吗?

虽然我同意评论中的建议,但我认为我有更好的办法来解决你的问题(希望:)

虽然没有必要在应用程序中使用拉队列,但可以方便地设计问题。我建议的模式如下:

1) servlet集中处理各种任务的执行(我们称之为控制器),并在URL中公开

2) 作业由控制器通过点击作业的URL来启动(假设再次拉动队列)

3) 作业完成后,作业返回控制器URL以报告作业完成

4) 控制器依次从队列中删除已完成的作业,并将下一个逻辑作业添加到队列中

这是重复的


在这种情况下,即使序列逻辑更改或添加了新作业,作业代码也保持不变。您可能只需要对控制器进行更改。

虽然我同意评论中的建议,但我认为我有更好的方法解决您的问题(希望:)

虽然没有必要在应用程序中使用拉队列,但可以方便地设计问题。我建议的模式如下:

1) servlet集中处理各种任务的执行(我们称之为控制器),并在URL中公开

2) 作业由控制器通过点击作业的URL来启动(假设再次拉动队列)

3) 作业完成后,作业返回控制器URL以报告作业完成

4) 控制器依次从队列中删除已完成的作业,并将下一个逻辑作业添加到队列中

这是重复的


在这种情况下,即使序列逻辑更改或添加了新作业,作业代码也保持不变。您可能只需要更改控制器。

如果您使用的是cron,那么我猜您已经定义了cron运行程序将调用的端点

使用cron运行程序启动任务A,并在任务完成后让它运行B。对B和C重复上述步骤


您可能可以使用与cron作业相同的端点

如果您使用的是cron,那么我猜您已经定义了cron运行程序将调用的端点

使用cron运行程序启动任务A,并在任务完成后让它运行B。对B和C重复上述步骤


您可能可以使用与cron作业相同的端点

然后只安排A作业,然后让它自己启动B作业。cron作业纯粹是基于时间的,不能通过cron使它们相互依赖。希望现实会改变以适合您并不是解决问题的可行方法。如果您需要按顺序运行作业,则只计划一个作业,并在作业完成时让它运行其他作业。责任链模式可能会有所帮助。然后只计划A作业,然后让它自己启动B作业。cron作业纯粹是基于时间的,不能通过cron使它们相互依赖。希望现实会改变以适合您并不是解决问题的可行方法。如果您需要按顺序运行作业,那么只安排一个作业,并在完成时让它运行其他作业。责任链模式可能会有所帮助。