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);
}
}
一旦将 Task 添加到 Push-Queue,Push-queue 就会对“/activity”端点进行 HTTP 调用,这将触发 recordActivity() 方法。