Ask HN: Job Scheduling as a service
Is there any product that will allow us to schedule via an api , and then if the time is triggered then it should call the destination via webhook(with payload preferably )
Right now we are using quartz scheduler which has more configuration (Including Mysql Connection ) .
Cons are 1) Does not have an admin UI 2) No reporting or history of jobs
Thanks
41 comments
[ 3.2 ms ] story [ 52.5 ms ] threadShit on a stick doesn't anyone actually host anything themselves anymore?
I Think these are not part of application development and it can be offloaded to hosted services .
My app has schedule functionality for example a scheduled report , so if it where like a webhook call then i dont want to waste the cpu cycle ,now i am using quartz scheduler in my java app .
https://github.com/mperham/sidekiq https://www.hangfire.io/
All of these are better options than "embed the entire job info in a URL and hand it off to a remote scheduling service".
Run cron on all your boxes, have them pull a job at a time from the database. Or shit, go full tilt with a clustered Redis job queue.
You're solving for the example but the original poster noted multiple jobs.
https://www.easycron.com/
https://www.setcronjob.com/
etc. You might be as well writing your own though, since it shouldn't be a difficult task.
https://cloud.google.com/appengine/docs/standard/python/conf...
You'll have to create an app handler for the URL which can then make the outbound http request. It's inexpensive, reliable and has an admin interface and logs.
So i am looking for a hosted scheduler where i can send a rest API request with a webhook and a small payload . During the execution time the hosted scheduler will call the webhook with the payload , so that i will publish the post .
Pros is that i dont want to worry about the scheduled jobs .Right now i am unable to find a scheduler with the good admin UI ( to pause all the jobs ) to delete the trial users post .
Save the future posts to the database with the required publish date/time.
Run cron every $X minutes where $X is the smallest interval you allow (ie if you force publish date to be rounded to 5 minutes, run cron every 5 minutes) and check for "future posts" where the publish date <= now(), and take action.
This is pretty basic stuff and that you want to offload it to a 3rd party by capturing all the details into a request to be made back to your app is a huge red flag IMO.
I went into more details about Hashicorp's Nomad in another post, but I didn't mention that you can run a cluster of Nomad servers for high availability.
Nomad is open source - I don't have a dog in the fight - I'm just a happy user.
https://www.nomadproject.io
https://aaron-hoffman.blogspot.com/2017/01/replace-azure-sch...
https://jenkins.io/
see: http://hook.io/cron
More like sendgrid.com for scheduling
Edit: if you haven't got this stack around though i'd second calls to use a build tool like Jenkins or Rundeck - of course you probably don't want this on the same Jenkins that builds your jobs... so you'd have to set all that up
I think webtask.io is somewhat similar.
Also, iron.io lets you schedule functions using docker, has full API.
AWS Lambda also lets you schedule Lambda and has full API.