Sign in to follow this  
Followers 0
Rogue5099

Run a Func every 5 mins using @MIN

9 posts in this topic

Trying to run a function every 5 mins.

If @MIN = "00" Or @MIN = "05" Or @MIN = "10" Or @MIN = "15" Or @MIN = "20" Then....

Got to be an easier way!

Share this post


Link to post
Share on other sites



5 minutes from the last time the function ran might be better accomplished with timerinit and timerdiff. Because in your current example if your function takes 4 minutes to run, it would only wait a minute then run again.


,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

That's a good idea. The function only takes 5 secs MAX to run. I want it to run on the MIN though not loose any seconds over time.

If StringInStr(@MIN, "5", 0, 2, 1) = 2 Or StringInStr(@MIN, "0", 0, 2, 1) = 2 Then

Above works only on 5 mins not on the min ending in 0

Edited by rogue5099

Share this post


Link to post
Share on other sites

Why not use AdlibRegister?


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

Another way

#Include <Date.au3>

Global $_Timer = _NowCalc ( )
Global $_Interval = 5

While 1
    $_NowCalc = _NowCalc ( )
    If _DateDiff ( "n", $_Timer, $_NowCalc ) >= $_Interval Then  ; 5 min
        ConsoleWrite ( "->---- " & $_Interval & " Minutes elapsed : " & $_NowCalc & @Crlf )
        $_Timer = $_NowCalc
    EndIf
    Sleep ( 10 )
WEnd

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Share this post


Link to post
Share on other sites

Found it:

If Mod(@MIN, 5) = 0 Then

If you want to run at 00, 05, 10, 15... then this script will do:

Global $switch = 0
While 1
    IF Mod(@MIN,5) = 0 Then
        If $switch = 0 Then
            ConsoleWrite("It is time to run: " & @MIN & @CRLF) ;Here goes your stuff
            $switch = 1
        EndIf
    Else
        $switch = 0
    EndIf
Sleep(250)
WEnd

Share this post


Link to post
Share on other sites

Why not use AdlibRegister?

I am sending an email and I need it on the 5's not any other time to check for errors in system.

If I use AdlibRegister then it goes from whenever the script is started.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0