Как лучше всего запускать cronjob в AWS ECS?

У меня есть веб-приложение на базе Laravel, настроенное на AWS ECS. Мне нужно будет запустить команду artisan как cronjob.

Я смотрю на «Запланированные задачи» в конфигурации кластера ECS. Я могу запускать новые задачи, следуя документации « Scheduled Tasks (Cron) » на AWS. Я использую определение задачи Laravel в Target, которое я использую для веб-служб, и у него есть две задачи.

  1. Не знаю, как вызвать команду мастера.
  2. Запланированная задача, кажется, выполняется вечно

Любая помощь будет принята с благодарностью. Спасибо.

1
задан 24 December 2018 в 09:09
1 ответ

Я не знаком с Laravel или Artisan, но, по сути, вам нужно:

  1. создать образ контейнера с вашим заданием ( artisan )
  2. создать определение задачи , которое запускает контейнер artisan при вызове
  3. создать cron-scheduler для вызова указанного выше определения задачи

Относительно «Запланированная задача, кажется, выполняется вечно» - Задачи ECS выполняют свою работу и завершаются, но не перезапускаются (например, cron jobs). Службы ECS перезапускаются при выходе (например, веб-серверы). Убедитесь, что вы создаете задачу , а не службу . Тогда он должен работать вечно.

Надеюсь, что это поможет :)

2
ответ дан 3 December 2019 в 20:10

Теги

Похожие вопросы