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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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