Elastic Beanstalk: Como eu executaria um comando de ebextensão apenas na camada de trabalho?

Eu tenho um aplicativo de pé de feijão elástico que utiliza a camada da web e a camada do trabalhador. Os trabalhos são transferidos para a camada de trabalho da camada da Web via SQS para manter os servidores voltados para a Web com rapidez. Ambos os ambientes usam exatamente a mesma base de código e usam uma instância do RDS sob eles.

Preciso executar um trabalho cron no servidor líder da camada de trabalhadores. Criei uma pasta .ebextensions com um arquivo chamadocrontab nele da seguinte forma (é um aplicativo da Web Laravel):

* * * * * root php /var/www/html/artisan do:something:with:database

Então, eu criei um arquivo chamado01cronjobs.config, que atualiza os ambientes crontab na raiz da seguinte maneira:

container_commands:
  01_remove_old_cron_jobs:
  command: "crontab -r || exit 0"
  02_cronjobs:
  command: "cat .ebextensions/crontab | crontab"
  leader_only: true

.. tudo bom. Agora, eu quero implantar isso no EB usando oeb deploy comando. No entanto, eu quero apenas que a camada de trabalho assuma o trabalho cron, pois só podemos ter um servidor executando os crons em todo o grupo.

Existe uma maneira de informar o arquivo de configuração ebextensions parasó executar o comando de configuração na camada de trabalho? Algo comoworker_only: true seria ótimo aqui, mas parece não existir.

Alguém pode fornecer algumas dicas sobre como eu posso conseguir isso? Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion