1

I have a web app powered by Laravel that is set up on AWS ECS. I would need to run an artisan command as a cronjob.

I'm looking at "Scheduled Tasks" in ECS Cluster configuration. I can launch new tasks following the "Scheduled Tasks (Cron)" documentation on AWS. I'm using the Laravel's Task Definition in the Target which I use for web services & it has two tasks.

  1. Not sure how I can invoke the artisan command
  2. The scheduled task seems running forever

Any help would be greatly appreciated. Thank you.

2
+25

I'm not familiar with Laravel or Artisan but essentially you'll need to:

  1. create a container image with your job (artisan)
  2. create a task definition that runs the artisan container when invoked
  3. create the cron-scheduler to invoke the above task definition

Regarding "The scheduled task seems to be running forever" - ECS Tasks do their job and exit and are not restarted (e.g. cron jobs). ECS Services are restarted when they exit (e.g. web servers). Make sure you're creating a Task and not a Service. Then it should be running forever.

Hope that helps :)

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.