在Google Cloud Engine中持续运行服务

时间:2017-10-30 20:27:28

标签: google-app-engine cron microservices

我试图找出在没有接到任何电话时如何运行服务(1)。

我想使用微服务架构。

基本上我想在其他服务(2)接收呼叫和所有数据时运行此服务(1)。

由于我提到的服务(1)未收到,因此不必生成新实例,我只希望服务(2)可以扩展。

我注意到scheduling jobs with cron yaml,但通话次数有限。 当服务(2)处于活动状态时,我需要让此服务(1)每1分钟激活一次。

1 个答案:

答案 0 :(得分:2)

如果不了解服务(1)在“活跃”时必须做什么,就很难给出一个好的答案。听起来你希望cron每分钟都能完成一项任务。

您可以将cron与推送队列结合使用:https://cloud.google.com/appengine/docs/standard/go/taskqueue/push/

创建推送队列任务时,您可以在将属性添加到队列之前设置属性delayhttps://cloud.google.com/appengine/docs/standard/go/taskqueue/reference#Task

(对我来说,他们称之为countdown https://cloud.google.com/appengine/docs/standard/python/refdocs/google.appengine.api.taskqueue.taskqueue#google.appengine.api.taskqueue.taskqueue.add}

你可以拥有一个每24小时开火一次的cron工作。那个cron作业会加载你的推送队列,其任务的延迟是错开的。第一个的延迟是1分钟,第二个的延迟是2分钟等等。