Настройте периодические такты (используя cron.yaml) с Symfony на AWS ElasticBeanstalk - PullRequest
0 голосов
/ 17 октября 2018

У меня проблемы с периодическими задачами на ElasticBeanstalk Worker Tier с приложением Symfony.

Я развернул один и тот же исходный код на сервере приложений и рабочем уровне,Я настроил мой файл cron.yaml, и он успешно загружен.Сообщения отправляются, но я получаю сообщение об ошибке 406:

"POST /worker/reclamation/auto-reply HTTP/1.1" 406 481 "-" "aws-sqsd/2.4"

Мой файл cron.yaml:

version: 1
cron:
 - name: "reclamation-reply"
   url: "/worker/reclamation/auto-reply"
   schedule: "*/10 * * * *"

Документация AWS говорит:

URL-адрес - это путь, по которому отправляется запрос POST для запуска задания.

Оттуда я решил закодировать маршрут FOSRest с методом POST, в котором я вызываю нужную мне командубежать.Я не знаю, является ли правильный способ сделать это, поэтому я полагаю, что моя проблема может возникнуть отсюда.

/**
 * @FOSRest\Route("/worker")
 */
class WorkerController extends AbstractController
{
    /**
     * @FOSRest\Post("/reclamation/auto-reply")
     */
    public function ticketReply(KernelInterface $kernel)
    {
        $application = new Application($kernel);
        $application->setAutoExit(false);
        $input = new ArrayInput(array(
            'command' => 'app:reclamation:reply',
        ));
        $output = new NullOutput();
        $application->run($input, $output);
        return new Response("");
    }

Заранее спасибо за вашу помощь!

1 Ответ

0 голосов
/ 18 октября 2018

Наконец-то работает!

Кажется, ошибка произошла, потому что я забыл настроить format_listener моего маршрута FOSRest.

...