Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

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>

Replies are listed 'Best First'.
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?

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2016-08-31 23:34 GMT
Find Nodes?
    Voting Booth?
    The best thing I ever won in a lottery was:

    Results (436 votes). Check out past polls.