Spikeedoodles Posted August 12, 2014 Share Posted August 12, 2014 Hey all, So I'm making a quick and dirty monitoring software that will e-mail me every 2 hours (all it's doing is grabbing some network traffic information). My question is, since I want to send this email once every 2 or so hours (with an attached log) how could I make it so it doesn't spam my email when the time comes. Here is a little tidbit of what I currently have If @Min = 15 Then Call ("emailMe") EndFunc Every tie the clock hits minute 15 i get utterly spammed with emails because the statement is true. How could I make it where the statement is almost getting "Turned Off" until the statement is no longer true, so in this case, it will only send me an email once per hour? Link to comment Share on other sites More sharing options...
MikahS Posted August 12, 2014 Share Posted August 12, 2014 so you want the call statement to go every 2 hours? or every hour on the 15 tick? Snips & Scripts My Snips: graphCPUTemp ~ getENVvarsMy Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4 Feel free to use any of my code for your own use. Forum FAQ Link to comment Share on other sites More sharing options...
Spikeedoodles Posted August 12, 2014 Author Share Posted August 12, 2014 so you want the call statement to go every 2 hours? or every hour on the 15 tick? It doesn't really matter too much, all I need to know is how to only make it run once instead of every time the statement is true. Right now, the program is: Checking if the statement is true (lets say it is) sends me an email Checking if the statement is true (lets say it is) sends me an email Checking if the statement is true (lets say it is) sends me an email Checking if the statement is true (lets say it is) sends me an email this is happening in the matter of seconds, so I'm getting email spammed by my program. I only want it to check if the statement is true once then almost turning off the statement until it isnt true anymore, so in that case it will: Checking if the statement is true (lets say it is) sends me an email TURNS OFF STATEMENT Checking if the statement is true (lets say it is) Doesnt send email because the statement says to not send anymore emails Checking if the statement is true (lets say it is) Doesnt send email because the statement says to not send anymore emails Checking if the statement is true (lets say it is) Doesnt send email because the statement says to not send anymore emails Checking if the statement is true (lets say it is) Doesnt send email because the statement says to not send anymore emails The minute changes The statement is turned back on repeat this I know "turning off" isnt the right term, but that is sort of what I'm looking for. Link to comment Share on other sites More sharing options...
water Posted August 12, 2014 Share Posted August 12, 2014 ; Wait until it is 15 minutes past the hour While 1 If @Min = 15 Then ExitLoop Sleep(60 * 1000) ; wait a minute WEnd ; Create mail every hour While 1 ; create mail here Sleep(60 * 60 * 1000) ; Wait an hour WEnd My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
Spikeedoodles Posted August 12, 2014 Author Share Posted August 12, 2014 ; Wait until it is 15 minutes past the hour While 1 If @Min = 15 Then ExitLoop Sleep(60 * 1000) ; wait a minute WEnd ; Create mail every hour While 1 ; create mail here Sleep(60 * 60 * 1000) ; Wait an hour WEnd Thanks for your help, I should have been more specific. Sleep wouldn't quite work because the script itself still needs to be running (I still want to log traffic, if it's sleeping I can;t do that). Errmmm.. Perhaps just making a separate script would be easier. Link to comment Share on other sites More sharing options...
Solution MikahS Posted August 12, 2014 Solution Share Posted August 12, 2014 (edited) why not just $time = 3600000 ;<--- 1 hour AdlibRegister("fTime", $time) While 1 WEnd Func fTime() Call("emailMe") EndFunc Edit: this will run the function every hour and not make the script stop for any reason. Edited August 12, 2014 by MikahS Snips & Scripts My Snips: graphCPUTemp ~ getENVvarsMy Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4 Feel free to use any of my code for your own use. Forum FAQ Link to comment Share on other sites More sharing options...
Spikeedoodles Posted August 12, 2014 Author Share Posted August 12, 2014 why not just $time = 3600000 ;<--- 1 hour AdlibRegister("fTime", $time) While 1 WEnd Func fTime() Call("emailMe") EndFunc Edit: this will run the function every hour. Ohhhhhh, never heard of AdblibRegister. I will look into that. Thanks! Link to comment Share on other sites More sharing options...
MikahS Posted August 12, 2014 Share Posted August 12, 2014 (edited) All AdlibRegister does is call a function every x milliseconds; essentially with an empty while loop this script will run indefinitely while calling fTime() every 1 hour. Edited August 12, 2014 by MikahS Snips & Scripts My Snips: graphCPUTemp ~ getENVvarsMy Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4 Feel free to use any of my code for your own use. Forum FAQ Link to comment Share on other sites More sharing options...
Moderators JLogan3o13 Posted August 12, 2014 Moderators Share Posted August 12, 2014 Or simply create your script and use Windows' built in scheduler rather than reinventing the wheel. "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum! Link to comment Share on other sites More sharing options...
guinness Posted August 12, 2014 Share Posted August 12, 2014 All AdlibRegister does it call a function every x milliseconds; essentially with an empty while loop this script will run indefinitely while calling fTime() every 1 hour. That would have been my choice. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
water Posted August 12, 2014 Share Posted August 12, 2014 Mine too My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
Spikeedoodles Posted August 12, 2014 Author Share Posted August 12, 2014 The adlibregister seems to work great for my purposes! Thanks everyone! Link to comment Share on other sites More sharing options...
MikahS Posted August 12, 2014 Share Posted August 12, 2014 @Spikeedoodles glad to help Snips & Scripts My Snips: graphCPUTemp ~ getENVvarsMy Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4 Feel free to use any of my code for your own use. Forum FAQ 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