pm2
pm2 copied to clipboard
pm2 cron schedule starts immediately, but it should start next morning instead
What's going wrong?
I set up the cron job like "*pm2 start index.js --cron '00 06 * * ' --no-autorestart" at 4pm and I expected pm2 to start the next morning at 6AM, but it immediately starts the node script. Is this intended that it "knows" it's after 6AM so just start it?
How could we reproduce this issue?
"pm2 start index.js --cron '00 06 * * *' --no-autorestart"
Supporting information
I use pm2 5.2.2 on my newest Raspberry Pi (v4) version (standard OS)
Using the --cron option tells it at what time you want it to restart, not what time you want it to start at.
Thank you for the explanation. Is there a possibility to add 'beginn cron job at' as a new feature?
Same question
Came here with the same issue. There should be an option that prevents the initial run from occurring, e.g. "just schedule, do not run now".
there is no option for this as far as I know. But I have added the following condition to index.js itself when I had similar requirement:
if (!process.env.prev_restart_delay && process.env.cron_restart) {
console.log('skipping initial launch....');
process.exit(0);
return;
}
this will stop the process immediately but it still will be restarted by cron. Note you should also disable autorestart (--no-autorestart)
After the subsequent start on the script prev_restart_delay env variable will be available and the condition will be skipped and your script will run.
Not ideal, but works in my case.
I'm going through the issues to find mentions about not auto-starting a new process, which I now created a PR for: #5780