Read the statement by Michael Teeuw here.
Module Refresh Time
-
@mumblebaj we you can calculate the delta between now and that specific time of day, as the initial delay, and then shift to 24 hours for the next from the new ‘now’
I do this in my COVID module, as the data won’t be available before 8 am every day… get the data, reset to wait til 8am, then try to get the data… repeat… sometimes it’s available at 8:05, sometimes not til after 11am
milliseconds is just a number
-
@sdetweil Thanks for that Sam. Let me have a look at what you set on your module.
So setting a specific time like one would in say crontab is not possible.
-
@mumblebaj correct. setTimeout() and setInterval() take milliseconds from now
-
@mumblebaj in some modules at the top of the main js file you may see this ->
updateInterval: 50 * 60 * 1000,
Or you could add it to a module if need be.
-
@cowboysdude but he wanted to wake up at a specific time of day
so,
create a date object with the target date and time,
extract its milliseconds,
subtract now ms from that= wait_ms,
setTimeout(fn, wait_ms) -
@sdetweil Yes you are right on both accounts :)
-
@cowboysdude I love it when you old timers get into it… I am looking at the @sdetweil suggestions. Thought there might have been an easier way.
-
@mumblebaj u can of course add ANOTHER library, only accessable from node_helper…
https://www.npmjs.com/package/node-cron
seems a lot of work for one little routine… with 1 line of code
and you can use moment too
https://stackoverflow.com/questions/36158193/javascript-set-a-new-date-to-tomorrow-8am
-
@sdetweil Yep, i will look at your suggestion. Keeps it nice and tidy
-
@mumblebaj that last link shows both Date() and moment() approaches