Read the statement by Michael Teeuw here.
Module Refresh Time
-
I have a quick question. I am wondering if the following is possible. In our modules we set a refresh Interval, say 1 hour 2 hours or 24 hours etc. Is it possible to set it to a specific time of day other than having to start the mirror at that specific time of day?
So, currently I have a module that refreshes every 24 hours but to get it to refresh at the specific time of day that I want it to, I had to start the mirror at that specific time in order for the module to only refresh at that specific time the next day. Instead of having to do that, is it possible to set a module to refresh at a specific time?
Was just wondering if it is possible and how if it is?
-
@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