How to schedule a daily task in an Electron app

Solution to a problem I encountered while building Notifyer


One of the main features of Notifyer is the ability to schedule quotes (or really any message) to be triggered once daily. The thing is I couldn’t get the schedule to work overnight or even a few hours later. I’d suspend my computer, wake it later, stare at the clock as the scheduled time passed and nothing would happen.

After adding some logging, re-reading node-schedule documentation, and filing an issue, I finally stumbled upon a solution.

electron.powerMonitor.on('resume', () => {`computer awake: refresh schedule for ${scheduledFor}`)


It occurred to me, probably after reading through old node-schedule issues, that perhaps the problem is with suspending the computer. If node-schedule somehow forgot my instructions when it sleeps, then maybe I need to help it remember when it wakes. So I re-applied the schedule on the resume event; and it worked!


Now read this

#a11y-ing up

Making a little more accessible with WAI-ARIA and progressive enhancement. From textbooks to #a11y, accessibility is a topic I was aware of but never tried to learn. Recently, I decided to change that by reading Apps for... Continue →