Cron itself is a task scheduler for linux/unix. Schedule::Cron available on cpan may be useful, though you should find a better use for it then spamming your neighbor.
| [reply] |
You may find some useful information in the thread beginning at Win32::Taskscheduler failed to install on win7... or by using this Super Search.
But, whoa, before you charge off to read those, you may want to know a bit about the Monastery and its customs -- chief among them being that we consider it our mission to help you learn Perl... NOT to provide "a free service to run Cron jobs..." nor any other free service except those directly related to the Monastery's mission.
So, please also read On asking for help, How do I post a question effectively?, I know what I mean. Why don't you? and (for good measure, on the theory you may someday soon want to ask an appropriate-for-this-site question) Markup in the Monastery (hint 1: You don't tell us, explicitly, that you're using some version of Windows, even though that appears likely... but we're more likely to be on-target with replies if we know for sure. and... hint 2: inserting <br/> between </p> and <p> is unnecessary [and ugly, IMO] to create blank lines between paras). | [reply] [d/l] [select] |
There's nothing special about cron jobs running in Perl. Cron doesn't give a penny in which language the cron job is written in. Write your program to send email (obviously, the program shouldn't be interactive), and then read man crontab to see what you need to do to run it once an hour. | [reply] [d/l] |
You may not need to use an external scheduler at all. Why not look up Perl's "sleep" command and see if you can get the same functionality all within Perl.
I have scripts that both repeat within Perl and also in a wrapper script that restarts the script should it fail or end.
I do use cron for some jobs. One thing to think about is what happens if your scheduler tries to run the program before it completes the last run. (This is not likely an issue in your case.) Another gotcha to be wary of is the run time environment. Will it be the same under a scheduler as from the prompt? Does it matter if not?
| [reply] |
The 'sleep' idea is fine if you don't care whether it still runs should the system reboot. If you are using unix/linux, you actually have at least 2 options that I know of - cron and the 'at' queue. The 'at' queue is sometimes preferable if you are running a job a little less frequently (once per day or less), and you always want it to run. With cron, if the system happens to be down when the cron job is scheduled to run, when the system comes back up, it will only run on the next interval. If you use 'at', then any job on the queue who's time is past when the system comes back up is run immediately. It is pretty easy to write a script that, as it's last action, re-queues itself on the 'at' queue for the next interval. It all depends on what you are trying to achieve. fnord
| [reply] |
You already have such a service, on your own machine. To find out more, type man cron and man 5 crontab. | [reply] [d/l] [select] |