Scheduling A Job on AWS EC2
I have a website running on AWS EC2. I need to create a nightly job that generates a sitemap file and uploads the files to the various browsers. I'm looking for a utility on AWS that allows this functionality. I've considered the following:
1) Generate a request to the web server that triggers it to do this task
- I don't like this approach because it ties up a server thread and uses cpu cycles on the host
2) Create a cron job on the machine the web server is running on to execute this task
- Again, I don't like this approach because it takes cpu cycles away from the web server
3) Create another EC2 instance and set up a cron job to run the task
- This solves the web server resource issues, but why pay for an additional EC2 instance to run a job for <5 minutes? Waste of money!
Are there any other options? Is this a job for ElasticMapReduce?
Answers 1
Amazon has just released[1] new features for Elastic Beanstalk. You can now create a worker environment containing cron.yaml that configures scheduling tasks calling an URL with the CRON syntax: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features-managing-env-tiers.html#worker-periodictasks
[1] http://aws.amazon.com/about-aws/whats-new/2015/02/17/aws-elastic-beanstalk-supports-environment-cloning-periodic-tasks-and-1-click-iam-role-creation/