Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.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
自动扩展后端-Appengine Java_Java_Google App Engine - Fatal编程技术网

自动扩展后端-Appengine Java

自动扩展后端-Appengine Java,java,google-app-engine,Java,Google App Engine,我有一个在后端运行的拉队列。当尖峰很高时,我从前端调用它 拉入队列有成千上万个任务,需要一段时间。一个前端请求启动处理 我希望从我的代码中启动更多的后端,以便它们都可以从拉队列中拉任务并开始执行它们。然而,我不清楚如何做到这一点 请帮忙 谢谢。您需要将代码从使用后端迁移到模块: 然后,可以使用基本缩放来指定要自动创建的最大实例数 更新: 对于拉队列,您必须自己实现负载平衡逻辑。基本扩展将根据请求进行平衡。因为这里没有请求,所以我需要手动缩放,这样更好。但是,我没有看到停止特定模块的方法。我就是这

我有一个在后端运行的拉队列。当尖峰很高时,我从前端调用它

拉入队列有成千上万个任务,需要一段时间。一个前端请求启动处理

我希望从我的代码中启动更多的后端,以便它们都可以从拉队列中拉任务并开始执行它们。然而,我不清楚如何做到这一点

请帮忙


谢谢。

您需要将代码从使用后端迁移到模块:

然后,可以使用基本缩放来指定要自动创建的最大实例数

更新:


对于拉队列,您必须自己实现负载平衡逻辑。

基本扩展将根据请求进行平衡。因为这里没有请求,所以我需要手动缩放,这样更好。但是,我没有看到停止特定模块的方法。我就是这么想的。当我看到大约10k任务时,我会为每个3k任务创建一个实例,大约4个。我从4开始,在/_啊/开始,我开始拉所有的队列。现在任务已经完成,我希望停止。如何停止知道已完成的模块?我看不出停下来:)?我看到numinstances可以停止任何可能正在执行任务的随机实例。谢谢。队列中的任务是通过在目标模块上创建请求来执行的。您不需要启动或停止实例。您可以在队列上设置所需的执行速率以及要创建的最大实例数。就是这样。如果队列无法跟上所需的执行速度,调度程序将自动创建更多实例。当负载下降时,调度程序将自动停止冗余实例。这些实例是拉队列而不是推队列。我仍然可以设置执行率和最大实例数吗?我该怎么做?谢谢。如果任务在后端运行,为什么要使用拉队列?您可以从前端触发一个请求,将所有任务添加到推送队列中,然后负载平衡将自行完成。对于拉队列,您必须自己实现这种负载平衡逻辑。