JSFoo 2019

JSFoo 2019

On component architecture, front-end engineering and Developer Experience (DX)



Deepak Pathania


Building painless scheduling systems in Node

Submitted Aug 21, 2019

Scheduling stuff sounds like a pretty straight forward thing to do, doesn’t it? Simply set up a cron with a schedule (after looking at the cron syntax online, of course), tell it what to do and forget about it.

Well, if you have ever worked with scheduling systems, you know that isn’t the end of the story. Monitoring, failure isloation, retries, choking preventions etc. make sure you think about that 5 AM job in your sleep.

Idempotency can help - slightly. This talk tries to encapsulate some of my learnings building a distributed scheduler in Node, some of the pain points I faced and how embracing idempotency helped relieve some of those pains.


  1. Introduction
  2. Scheduling tasks
  3. Weapon of choice - Node
  4. Code sample for a basic schedule.
  5. Pains
    • Failure isolation
    • Retry mechanisms for individual entries
    • Monitoring
    • Testing
  6. Idempotency
    • Introduction
    • Importance in scheduling
  7. Embracing failures and implicit retries
  8. Slack webhooks - monitoring 101
  9. Stubbing your way around testing
  10. Conclusion

Speaker bio

Senior Software Engineer @INDwealth. Full stack web developer with a keen eye for building elegant interfaces and a proven record of writing scalable backend code. Loves everything javascript. Speaks at conferences, meetups, hackathons and generally all the time. Likes open source, startups, pets, anime and people - in no particular order.




{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hybrid access (members only)

Hosted by

JSFoo is a forum for discussing UI engineering; fullstack development; web applications engineering, performance, security and design; accessibility; and latest developments in #JavaScript. Follow JSFoo on Twitter more