How Can I set a program that can run my script at a particular day and time. If I keep my program running and computer turned on?
4 views (last 30 days)
Show older comments
Adithya Narasimhan
on 4 Feb 2021
Commented: Walter Roberson
on 4 Feb 2021
I have made a script that can send automatic mail to my recepients. But I want to sent a perticular day and time for the auto mail to be sent. Can some one help me with the code for my problem?
0 Comments
Accepted Answer
Walter Roberson
on 4 Feb 2021
Edited: Walter Roberson
on 4 Feb 2021
MATLAB does not offer an absolute time timer, only relative time timers. Your options are:
1) use Windows "at" or similar to command matlab be started to run a command, such as using the "batch" option. The timing is kept outside of MATLAB, but the program might take a minute to launch https://docs.microsoft.com/en-us/troubleshoot/windows-client/system-management-components/use-at-command-to-schedule-tasks
2) have a periodic timer() object that checks the current time and starts a file handle you have previously stored in a data object. Because the timer is likely to drift, you might not launch at exactly the time you want, but when you do start, the function will start immediately without having to wait for matlab to launch. The more often you schedule the timer, the more resources get used.
3) Use an adaptive scheduling of the timer, such as every 6 hours when it is not close to the launch time, but more and more frequently as the time approaches, paying attention to the difference between scheduled start and actual start to try to estimate drift and timer() overhead, with a goal of eventually starting the function as near as possible to the scheduled time. When you got close enough, you could launch slightly early and have the function pause() for just less than the time remaining before the scheduled time. You would only bother with this kind of trouble if it was important that the function start time was as close as possible to schedule.
0 Comments
More Answers (1)
Adithya Narasimhan
on 4 Feb 2021
Edited: Adithya Narasimhan
on 4 Feb 2021
1 Comment
Walter Roberson
on 4 Feb 2021
No. As I said, there are no absolute time timers. You can only specify relative time to time the timer is started. "run 7 hours from now" , not "run at 1pm"
See Also
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!