У меня есть Elastic bean EC2 с настройкой Worker (я использую это для периодических задач). Насколько я понимаю, периодические задачи ставятся в очередь в SQS & читаются работником и исполняются как http://localhost
HTTP Post на URL, который мы установили в cron.yaml
- name: "db-backup"url: "/cron/db-backup"schedule: "30 21 * * *"
Как нам этого добиться, используя AWS SDK? Я вижу только QueueUrl
а также MessageBody
, Как мне указать URL-путь, т.е. /cron/db-backup
$client->sendMessage(array(
'QueueUrl' => $queueUrl,
'MessageBody' => 'Hello World!',
));
Где я должен указать путь /cron/db-backup
? Или я неправильно понял концепцию?
Оказывается, я был отчасти прав. Вы не можете установить путь HTTP для отдельных сообщений, которые вы отправляете в очередь, но вы можете & установите общий путь для всех сообщений, которые будут доставлены оттуда, где вы будете реализовывать логику диспетчеризации для потока кода.
Вы устанавливаете это при настройке рабочего уровня & может быть изменено в любое время из раздела конфигурации рабочего.
Если вы установите тип MIME как Применение / JSON вы получаете полезную нагрузку от file_get_contents ( ‘PHP: // ввод’) & если х-WWW-форм-urlencoded это собирается быть $ _POST
Как бы просто это ни звучало, я был совершенно растерян, учитывая, что я могу использовать несколько http-путей (URL) при работе в качестве периодической задачи. Я надеюсь, что это помогает и другим.
Других решений пока нет …