在 PHP 中从 GCE 实例向 GAE 推送队列插入任务
Insert task to GAE Push Queue from GCE instance in PHP
我正在寻找一个示例(或信息,如果可能的话)从 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 或其他任何东西一起使用。
嗯,我想 that 回答了我的问题。
You can use push queues only within the App Engine environment; if you need to access App Engine tasks from outside of App Engine, use pull queues instead.
一种解决方法是在您的 GAE 应用程序上创建一个端点,然后您的 GCE 实例可以使用该端点调用该端点,该端点可以处理这些参数以在 GAE 中排队任务。
例如,为了处理需要比 TaskQueue 允许的更多内存 (128MB) 或数据 (100KB) 的任务,我有一个 GCE 实例 运行 一个 Flask 应用程序,我的 GAE 应用程序调用它作为计划的一部分任务。 GCE 实例执行大型任务,然后在完成时通过向我的 GAE 应用程序上的端点发出 HTTP 请求将结果发送回 GAE,然后使用这些结果将其他任务排入队列。如果我的 GCE 大型任务不是太大,我可以 return 将结果放入 HTTP 响应中,而不是发出新的 HTTP 请求。
我正在寻找一个示例(或信息,如果可能的话)从 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 或其他任何东西一起使用。
嗯,我想 that 回答了我的问题。
You can use push queues only within the App Engine environment; if you need to access App Engine tasks from outside of App Engine, use pull queues instead.
一种解决方法是在您的 GAE 应用程序上创建一个端点,然后您的 GCE 实例可以使用该端点调用该端点,该端点可以处理这些参数以在 GAE 中排队任务。
例如,为了处理需要比 TaskQueue 允许的更多内存 (128MB) 或数据 (100KB) 的任务,我有一个 GCE 实例 运行 一个 Flask 应用程序,我的 GAE 应用程序调用它作为计划的一部分任务。 GCE 实例执行大型任务,然后在完成时通过向我的 GAE 应用程序上的端点发出 HTTP 请求将结果发送回 GAE,然后使用这些结果将其他任务排入队列。如果我的 GCE 大型任务不是太大,我可以 return 将结果放入 HTTP 响应中,而不是发出新的 HTTP 请求。