8 ms·
This is definitely a needed service. As a business, if something isn't core to the business model, it's better to pay money and avoid distractions, at least un
by Cieplak 8y ago
This is definitely a needed service. As a business, if something isn't core to the business model, it's better to pay money and avoid distractions, at least until it's clear that something is actually core to the business.
That said, I've wanted something akin to a distributed cron, without the complexities of workflow engines like airflow or azkaban, so I started writing a little HTTP API for scheduling jobs [1], which is mostly complete except for configurable retry logic and failure notifications. To schedule a periodic job that runs every 30 seconds,
curl http://$HOSTNAME/jobs \
-d '{ "title" : "Healthcheck"
, "code" : "curl example.com"
, "frequency" : "30 seconds" }'
[1] https://github.com/finix-payments/jobs https://github.com/finix-payments/jobs
- matte_black 8y ago> it's better to pay money and avoid distractions, at least until it's clear that something is actually core to the business. Sure, but what about avoiding liabilities?
- dosy 8y agoHey. I just made this. It's a coincidence that the OP and me are building it at the same time, but AFAICT the OP service does not support recurring tasks, but Pocketwatch does. Per your example, try: curl https://api.pocketwatch.xyz/v1/timer/new \ -H "Content-type: application/json" \ -d '{ "apiKey" : "i_am_hn_and_proud" , "url" : "https://host.tld/?my_param=my_val" , "method" : "POST" , "interval_unit_type" : "second" , "interval_unit_count": 1 , "duration_unit_type" : "minute" , "duration_unit_count": 6 }' You can use curl but the Node.js client library[1] is probably easier. I've made a free demo API key for HN readers that should be enough to let everyone try it out a bit[2]. [1] https://www.npmjs.com/package/%40dosy%2Fpocketwatch https://www.npmjs.com/package/%40dosy%2Fpocketwatch [2] https://news.ycombinator.com/item?id=17353486 https://news.ycombinator.com/item?id=17353486