Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: A perl daemon

by clinton (Priest)
on Jan 21, 2009 at 10:10 UTC ( #737792=note: print w/ replies, xml ) Need Help??


in reply to Re : A perl daemon
in thread A perl daemon

For handling signals, have a look at perlipc, especially the section entitled Handling the SIGHUP Signal in Daemons.

You probably want something like this (untested):

sub reload_cron { my $cron = shift; my $file = shift; $cron->clean_timetable; $cron->load_crontab($file); } { local $SIG{USR1} = sub { reload_cron($cron,$file) }; $cron->run; }
Then to signal the cron daemon, you need it's PID, and you can do:
kill $pid,10; # SIGUSR1

Hope this helps>


Comment on Re^2: A perl daemon
Select or Download Code
Re^3: A perl daemon
by trm (Novice) on Jan 21, 2009 at 18:26 UTC
    Thank you again for the information. I'll take a look at the module. I think the explanation is a bit beyond my grasp, but hopefully with the module docs that will clear up my confusion.

    I did try the nofork alternative, which I thought would be appropriate as I am using a governed queue with my application, and a fork could potentially effect it. However, it seems that if I have multiple schedules at the same time, only one schedule (somewhat random choice) will execute. I imagined that one would execute, then the next would execute, followed by however many are waiting to process. Any experience with the nofork mode that you might shed some light on?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://737792]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2014-09-23 00:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (208 votes), past polls