首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌云:如何以编程方式安排重复任务?

谷歌云:如何以编程方式安排重复任务?
EN

Stack Overflow用户
提问于 2018-03-17 00:10:19
回答 2查看 1.4K关注 0票数 2

我想在Google Cloud平台上构建一个任务调度服务。这些任务可以像触发URL一样简单。任务可以重复执行(每小时一次,一天两次,每周四...)并且可以动态地创建和移除。

我可以使用Google Cloud平台上的哪些服务/API来实现这一点?

我研究过Google App Engine cron作业,但似乎没有办法以编程方式修改它们。如果可能,我希望避免每分钟都运行cron作业,只是为了检查是否有任务要运行。

我选择的框架是Java,但如果有更好的解决方案,例如ASP.NET,我愿意尝试一下。

EN

回答 2

Stack Overflow用户

发布于 2018-03-17 02:07:04

正如您已经发现的,App Engine Cron Service没有用于以编程方式管理cron任务的API。Cron任务是使用名为cron.yaml的文件配置的,可以通过编程方式修改该文件并将其上传到google cron服务(details)。我不确定您的任务调度服务的确切要求,但这可能是一个足够好的解决方案来解决您的问题。

另一种选择是运行Google计算引擎实例。由于这基本上是一个由您维护的虚拟服务器,因此您可以完全控制它;允许您选择操作系统、后端/前端技术等。例如,您可以运行Linux服务器,使用asp.net核心后端来管理crontab任务。

票数 2
EN

Stack Overflow用户

发布于 2018-08-08 22:29:51

我还建议你看看Google Cloud Tasks。您可以创建队列,并将任务推送到队列或从中拉出任务:

  • Push通过将请求传递给App Engine worker服务来对HTTP运行任务进行排队。它们以可靠、稳定的速率分发这些请求,并保证可靠的任务执行。因为您可以控制从队列发送任务的速率,所以您可以控制工作进程的缩放行为,因此costs.
  • Pull queues根本不会分派任务。它们依靠其他工作者服务主动从队列中“出租”任务。拉式队列在何时何地处理任务方面为您提供了更大的能力和灵活性,但它们也要求您进行更多的流程管理。当一个任务被租用时,租赁工人会声明一个截止日期。在截止日期到来之前,员工必须完成任务并将其删除,否则任务队列服务将允许其他员工租用该任务。

来源:https://cloud.google.com/appengine/docs/standard/java/taskqueue/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49325161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档