【问题标题】:Insert task to GAE Push Queue from GCE instance in PHP将任务从 PHP 中的 GCE 实例插入 GAE 推送队列
【发布时间】:2017-10-04 00:42:37
【问题描述】:

我正在寻找一个示例(或信息,如果可能的话),将任务从 PHP 中的 Google Compute Engine 实例插入到 Google AppEngine 推送任务队列中。

基本上是怎么转的:

use google\appengine\api\taskqueue\PushTask;

$task = new PushTask('/worker', ['name' => 'john doe', 'action' => 'send_reminder']);
$task_name = $task->add();

变成可以在 GCE 实例上运行的东西。可以是https://github.com/google/google-api-php-client 或其他任何东西。

【问题讨论】:

    标签: php google-app-engine google-compute-engine google-api-php-client


    【解决方案1】:

    一种解决方法是在您的 GAE 应用程序上创建一个端点,然后您的 GCE 实例可以使用这些参数调用该端点,该端点可以处理这些参数以将 GAE 中的任务排入队列。

    例如,为了处理需要比 TaskQueue 允许的更多内存 (128MB) 或数据 (100KB) 的任务,我有一个运行 Flask 应用程序的 GCE 实例,我的 GAE 应用程序将其作为计划任务的一部分调用。 GCE 实例执行大型任务,然后通过向我的 GAE 应用程序上的端点发出 HTTP 请求将结果发送回 GAE,然后使用这些结果将其他任务排入队列。如果我的 GCE 大型任务不是太大,我可以在 HTTP 响应中返回结果,而不是发出新的 HTTP 请求。

    【讨论】:

    • 是的,我最终做了完全相同的事情 :) 但是从架构的角度来看这感觉不对
    【解决方案2】:

    好吧,我猜that 回答了我的问题。

    您只能在 App Engine 环境中使用推送队列;如果您需要从 App Engine 外部访问 App Engine 任务,请改用拉取队列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多