develooper Front page | perl.module-authors | Postings from November 2003

Re: My new module Proc:Daemontools

Thread Previous
From:
Aran Deltac
Date:
November 8, 2003 03:00
Subject:
Re: My new module Proc:Daemontools
Message ID:
3FABE424.2080009@arandeltac.com
Bruno Negrao wrote:

> Hi all,
> 
> I wrote a Perl module called Proc::Daemontools and I planning to publish
> it on CPAN. Before I do this, i´d like to gather some opinions about things
> as its name, its functionalities, etc.
> 
> Daemontools is a product made by Dan Bernstein designed to control daemons.
> It(amongst other things) guarantees that the daemons will never stop
> working.
> 
> Now, this module interacts only with svc, svok and svstat executables.
> 
> Bellow is its Synopsis:
> ---------------------------------------------------------------------------
> use Proc::Daemontools;
> 
> # assuming everything is in the default directories
> my $svc = new Proc::Daemontools;
> 
>     or
> 
> my $svc = new Proc::Daemontools (
>                 DAEMONTOOLS_DIR =>"/some-non-default-dir",
>                 SERVICE_DIR    => "/some-non-default-dir"
>             );
> 
> my $daemon="qmail-send";
> 
> # We want to stop $daemon
> if ( $svc->isUp($daemon) ) {
>     if ( $svc->down($daemon) ) {  # it returns true if it was successful
>         print "OK, $daemon stopped. \n";
>     } else {
>         print "Ops, $daemon didn´t stop yet. Maybe it is waiting for some".
>         " child to exit. Perhaps you want to kill them by yourself...\n";
>     }
> }
> 
> # Now we want it to start
> if ( $svc->up($daemon) ) {
>     print "OK, $daemon started. \n".
> }
> 
> $daemon="qmail-smtpd";
> 
> # Let´s see what svstat says about $daemon:
> print "The current status of $daemon reported by svstat is: " .
>       $svc->status($daemon) ."\n";
> 
> Any comments will be appreciated,
> Bruno Negrao.
> 

Bruno,

I for one think this module would be a very useful tool.  Usually when I 
want some daemontools info I just end up hacking some shell output. 
This would be much more professional and manageable.  The only thing I 
see as far as changes is that it would be nice to specify a default 
$daemon when createing the $svc object, for example:

my $svc = new Proc::Daemontools (
                 DAEMONTOOLS_DIR =>"/some-non-default-dir",
                 SERVICE_DIR    => "/some-non-default-dir",
                 DAEMON => "qmail-send"
             );

$svc->isUp(); # Defaults to $svc->isUp("qmail-send");
$svc->isUp("qmail-smtpd"); # Ignores default.

Otherwise I'd love to see this officially on CPAN sometime.  :)


Aran



Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About