Google App Engine的文档说,一旦将任务添加到Push-Queue,Push-Queue将启动对新添加的任务中指定的处理程序/ url的HTTP调用。
我的问题:HTTP呼叫收费或任何其他费用是否适用于Push-Queue发起的内部HTTP呼叫(从不离开GAE的HTTP呼叫)?
我的任务创建代码(在 {root} .activities.service 中)大致如下所示:
Queue taskQueue = QueueFactory.getQueue(QUEUENAME);
add(TaskOptions.Builder.withUrl("/activity").
param("actor", Long.toString(activityDTO.getActor())).
param("actorGroup", Long.toString(activityDTO.getActorGroup())).
param("action", activityDTO.getAction()).
param("object", activityDTO.getObject()).
param("objectGroup", Long.toString(activityDTO.getObjectGroup())).
method(TaskOptions.Method.GET)
);
控制器中的接收端点(在 {root} .activities.controller 中)如下所示:
@RestController
@RequestMapping("/activity")
public class ActivityController {
.
.
.
@RequestMapping(method = RequestMethod.GET)
public ResponseEntity<GenericHTTPResponseDTO> recordActivity(ActivityDTO activityDTO) {
activityService.recordActivity(activityDTO);
return new ResponseEntity<>(HttpStatus.OK);
}
}
将任务添加到推送队列后,推送队列将对“&#39; / activity”进行HTTP调用。结束点,它将触发recordActivity()方法。
答案 0 :(得分:1)
推送任务队列请求与任何其他请求一样:如果您有大量请求,AppEngine将扩大实例数量,您将支付更多费用。
但是,根据AppEngine文档,存储在任务队列中的数据(即请求有效负载等)也需要收费: $ 0.026 / Gb / month (2017-03 -29)。
资料来源:https://cloud.google.com/appengine/pricing(其他资源部分)