Azzera filtri
Azzera filtri

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?

3 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Walter Roberson
Walter Roberson il 4 Feb 2021
Modificato: Walter Roberson il 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.

Più risposte (1)

Adithya Narasimhan
Adithya Narasimhan il 4 Feb 2021
Modificato: Adithya Narasimhan il 4 Feb 2021
I have another question regarding the timer() commond can I specify a day and time for my script to be executed or is there any other approch.
  1 Commento
Walter Roberson
Walter Roberson il 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"

Accedi per commentare.

Categorie

Scopri di più su Environment and Settings in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by