Andrew Sparkes Posted October 22, 2005 Share Posted October 22, 2005 OK, here is the problem. I want a program to read an time interval from an ini, do function x at the time interval read from the ini, and stay running 24/7. I tried it before and failed... My problem with the original code was that I wanted to check the time every 5 mins or so to stop the cpu lagging and instead of doing the event once, it ran every five minutes when the time was correct. Anyone have a bare bones scheduler script? ---Sparkes. Link to comment Share on other sites More sharing options...
/dev/null Posted October 22, 2005 Share Posted October 22, 2005 (edited) OK, here is the problem.I want a program to read an time interval from an ini, do function x at the time interval read from the ini, and stay running 24/7. I tried it before and failed... My problem with the original code was that I wanted to check the time every 5 mins or so to stop the cpu lagging and instead of doing the event once, it ran every five minutes when the time was correct. Anyone have a bare bones scheduler script?Here we go. Maybe you'll have to adjust time/date handling a bit, but I think it's a good start.#Include <Date.au3> const $INTERVAL = 5 * 5; Interval in seconds. global $ACTIONTIME = "2005/10/22 22:33:42" $timer = TimerInit() while 1 sleep(1000) $diff = TimerDiff($timer) / 1000 if $diff > $INTERVAL then $timer = TimerInit() _continuous_worker_task() endif if _DateDiff("s",$ACTIONTIME,_NowCalc()) >= 0 then $ACTIONTIME = _DateAdd ( "d", 1, $ACTIONTIME ) _single_action_task() endif wend func _continuous_worker_task() msgbox(0,"","delta time: " & $INTERVAL & " seconds have elapsed...") endfunc func _single_action_task() msgbox(0,"","SINGLE ACTION TASK !!!! ...") endfuncCheersKurt Edited October 22, 2005 by /dev/null __________________________________________________________(l)user: Hey admin slave, how can I recover my deleted files?admin: No problem, there is a nice tool. It's called rm, like recovery method. Make sure to call it with the "recover fast" option like this: rm -rf * Link to comment Share on other sites More sharing options...
Andrew Sparkes Posted October 22, 2005 Author Share Posted October 22, 2005 That code looks like it'll work for my project, but would you mind explaining the date and timer specific functions ? I don't understand the usage of the commands dealing with the time. Care to enlighten me? ---Sparkes. Link to comment Share on other sites More sharing options...
/dev/null Posted October 22, 2005 Share Posted October 22, 2005 That code looks like it'll work for my project, but would you mind explaining the date and timer specific functions ? I don't understand the usage of the commands dealing with the time. Care to enlighten me?please read the help file. It's all explained there.CheersKurt __________________________________________________________(l)user: Hey admin slave, how can I recover my deleted files?admin: No problem, there is a nice tool. It's called rm, like recovery method. Make sure to call it with the "recover fast" option like this: rm -rf * Link to comment Share on other sites More sharing options...
Andrew Sparkes Posted October 23, 2005 Author Share Posted October 23, 2005 (edited) I have already looked through the help files and know what the Timer funcs do, but when combined with the date add and diff funcs, I'm lost. From what I determine, I see that it is a loop that has a one second delay and does a few things: -assigned the quotient of Timerdiff($timer) and 1000 to $diff -checks if $diff is greater than $INTERVAL and if it is, Resets the timer and runs continuous worker task -checks if _nowcalc() - $ACTIONTIME is >= 0 and if it is, assign $actiontime + 1 day to $actiontime, and then run the single action task. My questions lie mostly in the second if statement. What is the purpose of the Dateadd and DateDiff funcs? If i read that right, $ACTIONTIME is the time of execution for single action task. What modifications do i need to do if there is multiple run times every 24 hour period? Here is an example of what I want to do: The program read an ini for $email, $password and $number If $number is 2 run func x every 12 hours, if 3, run func x every 8 hours and so on. interval = 24/$number func x is already defined and all that is needed is a reliable schedule program structure. Thanks. I appreciate the help. Edited October 23, 2005 by Andrew Sparkes ---Sparkes. Link to comment Share on other sites More sharing options...
/dev/null Posted October 23, 2005 Share Posted October 23, 2005 My questions lie mostly in the second if statement. What is the purpose of the Dateadd and DateDiff funcs? If i read that right, $ACTIONTIME is the time of execution for single action task. What modifications do i need to do if there is multiple run times every 24 hour period?based on what you say below, you don't need _DateAdd() and _DateDiff(). Here is an example of what I want to do:The program read an ini for $email, $password and $numberIf $number is 2 run func x every 12 hours, if 3, run func x every 8 hours and so on. interval = 24/$numberfunc x is already defined and all that is needed is a reliable schedule program structure.What you need is only the first part, where the script tests if a given amount of time has passed by (first if clause within the while loop). Could you please post what you have tried so far? I will have a look at your code. func x would be interesting as well....CheersKurt __________________________________________________________(l)user: Hey admin slave, how can I recover my deleted files?admin: No problem, there is a nice tool. It's called rm, like recovery method. Make sure to call it with the "recover fast" option like this: rm -rf * Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now