5

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.

1
  • Hi, if the response below answered your question please upvote and accept it. That's the ServerFault way of saying Thanks for the time someone took to help you :)
    – MLu
    Feb 19, 2019 at 20:51

1 Answer 1

7
+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 :)

2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .