Используя Google App Engine, у меня есть приложение myapp
в качестве службы по умолчанию, которая добавляет задачу в очередь задач и запускает работника фонового сервиса с именем optimize
. Хотя myapp
работает нормально, к сожалению, я всегда вижу ошибку POST 404 в журнале myapp
, когда очередь задач AppEngine пытается запустить URL-адрес /optimize-dot-myapp.appspot.com/index.php/optimize
. Конечно, из-за ошибки 404 очередь задач продолжает повторять попытку. Мой текущий файл optimize.yaml
содержит следующее. Есть предположения?Каков правильный YAML для запуска службы в Google App Engine?
# optimize.yaml configuration for Google App Engine
# Full details at: https://cloud.google.com/appengine/docs/php/config/appref
runtime: php55
api_version: 1
service: optimize
handlers:
# Serve php scripts.
- url: /index.php/optimize
script: index.php/optimize
по умолчанию app.yaml
файл содержит следующее:
# app.yaml configuration for Google App Engine
# Full details at: https://cloud.google.com/appengine/docs/php/config/appref
runtime: php55
api_version: 1
handlers:
# Serve php scripts.
- url: /(.+\.php).*
script: \1
- url:/
script: index.php
# All URLs beginning with /assets are treated as paths to
# static files in the assets/ directory.
- url: /assets
static_dir: assets
В случае, если это полезно, то optimize
работник запускается в очереди задач по умолчанию с помощью следующей PHP:
// Start the background worker
// API details: https://cloud.google.com/appengine/docs/php/refdocs/classes/google.appengine.api.taskqueue.PushTask
$url = '/optimize-dot-myapp.appspot.com/index.php/optimize';
$task = new PushTask($url, $param);
$task_name = $task->add();
Как выглядит ваш файл по умолчанию '.yaml'? –
@DanCornilescu Я отредактировал комментарии, чтобы показать по умолчанию 'app.yaml'. Вызывающее приложение работает нормально. Похоже, что вещи застревают, когда очередь задач по умолчанию пытается запустить «оптимизатора». – Frank