summaryrefslogtreecommitdiff
path: root/gemfeed/2011-05-07-perl-daemon-service-framework.html
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-08 18:17:20 +0200
committerPaul Buetow <paul@buetow.org>2026-03-08 18:17:20 +0200
commit8a78337ea4dcb0b154bd1c754218ca01c8f9015d (patch)
tree2501c4ab66bffff5bc443553e769bedd9f035b33 /gemfeed/2011-05-07-perl-daemon-service-framework.html
parenta37a644c48e824796989d532cefa564e7a3c89c1 (diff)
Update content for html
Diffstat (limited to 'gemfeed/2011-05-07-perl-daemon-service-framework.html')
-rw-r--r--gemfeed/2011-05-07-perl-daemon-service-framework.html138
1 files changed, 72 insertions, 66 deletions
diff --git a/gemfeed/2011-05-07-perl-daemon-service-framework.html b/gemfeed/2011-05-07-perl-daemon-service-framework.html
index d68f12ca..071bf51b 100644
--- a/gemfeed/2011-05-07-perl-daemon-service-framework.html
+++ b/gemfeed/2011-05-07-perl-daemon-service-framework.html
@@ -2,12 +2,17 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Perl Daemon (Service Framework)</title>
<link rel="shortcut icon" type="image/gif" href="/favicon.ico" />
<link rel="stylesheet" href="../style.css" />
<link rel="stylesheet" href="style-override.css" />
</head>
-<body>
+<body class="rfx-boot">
+<div class="rfx-overlay-grid"></div>
+<div class="rfx-overlay-scanlines"></div>
+<div id="rfx-stars"></div>
+<div class="rfx-vignette"></div>
<p class="header">
<a href="https://foo.zone">Home</a> | <a href="https://codeberg.org/snonux/foo.zone/src/branch/content-md/gemfeed/2011-05-07-perl-daemon-service-framework.md">Markdown</a> | <a href="gemini://foo.zone/gemfeed/2011-05-07-perl-daemon-service-framework.gmi">Gemini</a>
</p>
@@ -58,14 +63,14 @@
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="silver"># Starting</font></i>
- ./bin/perldaemon start (or shortcut ./control start)
+<pre><i><font color="#ababab"># Starting</font></i>
+<font color="#ff0000"> </font><font color="#F3E651">.</font><font color="#ff0000">/bin/perldaemon start </font><font color="#F3E651">(</font><font color="#ff0000">or shortcut </font><font color="#F3E651">.</font><font color="#ff0000">/control start</font><font color="#F3E651">)</font>
-<i><font color="silver"># Stopping</font></i>
- ./bin/perldaemon stop (or shortcut ./control stop)
+<i><font color="#ababab"># Stopping</font></i>
+<font color="#ff0000"> </font><font color="#F3E651">.</font><font color="#ff0000">/bin/perldaemon stop </font><font color="#F3E651">(</font><font color="#ff0000">or shortcut </font><font color="#F3E651">.</font><font color="#ff0000">/control stop</font><font color="#F3E651">)</font>
-<i><font color="silver"># Alternatively: Starting in foreground </font></i>
-./bin/perldaemon start daemon.daemonize=no (or shortcut ./control foreground)
+<i><font color="#ababab"># Alternatively: Starting in foreground </font></i>
+<font color="#F3E651">.</font><font color="#ff0000">/bin/perldaemon start daemon</font><font color="#F3E651">.</font><font color="#ff0000">daemonize</font><font color="#F3E651">=</font><font color="#ff0000">no </font><font color="#F3E651">(</font><font color="#ff0000">or shortcut </font><font color="#F3E651">.</font><font color="#ff0000">/control foreground</font><font color="#F3E651">)</font>
</pre>
<br />
<span>To stop a daemon from running in foreground mode, "Ctrl+C" must be hit. To see more available startup options run "./control" without any argument.</span><br />
@@ -78,30 +83,30 @@ http://www.gnu.org/software/src-highlite -->
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre>pb@titania:~/svn/utils/perldaemon/trunk$ ./control keys
-<i><font color="silver"># Path to the logfile</font></i>
-daemon.logfile=./log/perldaemon.log
+<pre><font color="#ff0000">pb@titania</font><font color="#F3E651">:~</font><font color="#ff0000">/svn/utils/perldaemon/trunk$ </font><font color="#F3E651">.</font><font color="#ff0000">/control keys</font>
+<i><font color="#ababab"># Path to the logfile</font></i>
+<font color="#ff0000">daemon</font><font color="#F3E651">.</font><font color="#ff0000">logfile</font><font color="#F3E651">=.</font><font color="#ff0000">/log/perldaemon</font><font color="#F3E651">.</font><font color="#ff0000">log</font>
-<i><font color="silver"># The amount of seconds until the next event look takes place</font></i>
-daemon.loopinterval=<font color="#000000">1</font>
+<i><font color="#ababab"># The amount of seconds until the next event look takes place</font></i>
+<font color="#ff0000">daemon</font><font color="#F3E651">.</font><font color="#ff0000">loopinterval</font><font color="#F3E651">=</font><font color="#bb00ff">1</font>
-<i><font color="silver"># Path to the modules dir</font></i>
-daemon.modules.dir=./lib/PerlDaemonModules
+<i><font color="#ababab"># Path to the modules dir</font></i>
+<font color="#ff0000">daemon</font><font color="#F3E651">.</font><font color="#ff0000">modules</font><font color="#F3E651">.</font><font color="#ff0000">dir</font><font color="#F3E651">=.</font><font color="#ff0000">/lib/PerlDaemonModules</font>
-<i><font color="silver"># Specifies either the daemon should run in daemon or foreground mode</font></i>
-daemon.daemonize=yes
+<i><font color="#ababab"># Specifies either the daemon should run in daemon or foreground mode</font></i>
+<font color="#ff0000">daemon</font><font color="#F3E651">.</font><font color="#ff0000">daemonize</font><font color="#F3E651">=</font><font color="#ff0000">yes</font>
-<i><font color="silver"># Path to the pidfile</font></i>
-daemon.pidfile=./run/perldaemon.pid
+<i><font color="#ababab"># Path to the pidfile</font></i>
+<font color="#ff0000">daemon</font><font color="#F3E651">.</font><font color="#ff0000">pidfile</font><font color="#F3E651">=.</font><font color="#ff0000">/run/perldaemon</font><font color="#F3E651">.</font><font color="#ff0000">pid</font>
-<i><font color="silver"># Each module should run every run interval seconds</font></i>
-daemon.modules.runinterval=<font color="#000000">3</font>
+<i><font color="#ababab"># Each module should run every run interval seconds</font></i>
+<font color="#ff0000">daemon</font><font color="#F3E651">.</font><font color="#ff0000">modules</font><font color="#F3E651">.</font><font color="#ff0000">runinterval</font><font color="#F3E651">=</font><font color="#bb00ff">3</font>
-<i><font color="silver"># Path to the alive file (is touched every loop interval seconds, usable for monitoring)</font></i>
-daemon.alivefile=./run/perldaemon.alive
+<i><font color="#ababab"># Path to the alive file (is touched every loop interval seconds, usable for monitoring)</font></i>
+<font color="#ff0000">daemon</font><font color="#F3E651">.</font><font color="#ff0000">alivefile</font><font color="#F3E651">=.</font><font color="#ff0000">/run/perldaemon</font><font color="#F3E651">.</font><font color="#ff0000">alive</font>
-<i><font color="silver"># Specifies the working directory</font></i>
-daemon.wd=./
+<i><font color="#ababab"># Specifies the working directory</font></i>
+<font color="#ff0000">daemon</font><font color="#F3E651">.</font><font color="#ff0000">wd</font><font color="#F3E651">=./</font>
</pre>
<br />
<h2 style='display: inline' id='example-'>Example </h2><br />
@@ -112,17 +117,17 @@ daemon.wd=./
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre>$ ./control keys | grep daemon.loopinterval
-daemon.loopinterval=<font color="#000000">1</font>
-$ ./control keys daemon.loopinterval=<font color="#000000">10</font> | grep daemon.loopinterval
-daemon.loopinterval=<font color="#000000">10</font>
-$ ./control start daemon.loopinterval=<font color="#000000">10</font>; sleep <font color="#000000">10</font>; tail -n <font color="#000000">2</font> log/perldaemon.log
-Starting daemon now...
-Mon Jun <font color="#000000">13</font> <font color="#000000">11</font>:<font color="#000000">29</font>:<font color="#000000">27</font> <font color="#000000">2011</font> (PID <font color="#000000">2838</font>): Triggering PerlDaemonModules::ExampleModule
-(last triggered before <font color="#000000">10</font>.002106s; carry: <font color="#000000">7</font>.002106s; wanted interval: 3s)
-Mon Jun <font color="#000000">13</font> <font color="#000000">11</font>:<font color="#000000">29</font>:<font color="#000000">27</font> <font color="#000000">2011</font> (PID <font color="#000000">2838</font>): ExampleModule Test <font color="#000000">2</font>
-$ ./control stop
-Stopping daemon now...
+<pre><font color="#ff0000">$ </font><font color="#F3E651">.</font><font color="#ff0000">/control keys </font><font color="#F3E651">|</font><font color="#ff0000"> grep daemon</font><font color="#F3E651">.</font><font color="#ff0000">loopinterval</font>
+<font color="#ff0000">daemon</font><font color="#F3E651">.</font><font color="#ff0000">loopinterval</font><font color="#F3E651">=</font><font color="#bb00ff">1</font>
+<font color="#ff0000">$ </font><font color="#F3E651">.</font><font color="#ff0000">/control keys daemon</font><font color="#F3E651">.</font><font color="#ff0000">loopinterval</font><font color="#F3E651">=</font><font color="#bb00ff">10</font><font color="#ff0000"> </font><font color="#F3E651">|</font><font color="#ff0000"> grep daemon</font><font color="#F3E651">.</font><font color="#ff0000">loopinterval</font>
+<font color="#ff0000">daemon</font><font color="#F3E651">.</font><font color="#ff0000">loopinterval</font><font color="#F3E651">=</font><font color="#bb00ff">10</font>
+<font color="#ff0000">$ </font><font color="#F3E651">.</font><font color="#ff0000">/control start daemon</font><font color="#F3E651">.</font><font color="#ff0000">loopinterval</font><font color="#F3E651">=</font><font color="#bb00ff">10</font><font color="#F3E651">;</font><font color="#ff0000"> sleep </font><font color="#bb00ff">10</font><font color="#F3E651">;</font><font color="#ff0000"> tail -n </font><font color="#bb00ff">2</font><font color="#ff0000"> log/perldaemon</font><font color="#F3E651">.</font><font color="#ff0000">log</font>
+<font color="#ff0000">Starting daemon now</font><font color="#F3E651">...</font>
+<font color="#ff0000">Mon Jun </font><font color="#bb00ff">13</font><font color="#ff0000"> </font><font color="#bb00ff">11</font><font color="#F3E651">:</font><font color="#bb00ff">29</font><font color="#F3E651">:</font><font color="#bb00ff">27</font><font color="#ff0000"> </font><font color="#bb00ff">2011</font><font color="#ff0000"> </font><font color="#F3E651">(</font><font color="#ff0000">PID </font><font color="#bb00ff">2838</font><font color="#F3E651">):</font><font color="#ff0000"> Triggering PerlDaemonModules</font><font color="#F3E651">::</font><font color="#ff0000">ExampleModule </font>
+<font color="#F3E651">(</font><font color="#ff0000">last triggered before </font><font color="#bb00ff">10</font><font color="#F3E651">.</font><font color="#ff0000">002106s</font><font color="#F3E651">;</font><font color="#ff0000"> carry</font><font color="#F3E651">:</font><font color="#ff0000"> </font><font color="#bb00ff">7</font><font color="#F3E651">.</font><font color="#ff0000">002106s</font><font color="#F3E651">;</font><font color="#ff0000"> wanted interval</font><font color="#F3E651">:</font><font color="#ff0000"> 3s</font><font color="#F3E651">)</font>
+<font color="#ff0000">Mon Jun </font><font color="#bb00ff">13</font><font color="#ff0000"> </font><font color="#bb00ff">11</font><font color="#F3E651">:</font><font color="#bb00ff">29</font><font color="#F3E651">:</font><font color="#bb00ff">27</font><font color="#ff0000"> </font><font color="#bb00ff">2011</font><font color="#ff0000"> </font><font color="#F3E651">(</font><font color="#ff0000">PID </font><font color="#bb00ff">2838</font><font color="#F3E651">):</font><font color="#ff0000"> ExampleModule Test </font><font color="#bb00ff">2</font>
+<font color="#ff0000">$ </font><font color="#F3E651">.</font><font color="#ff0000">/control stop</font>
+<font color="#ff0000">Stopping daemon now</font><font color="#F3E651">...</font>
</pre>
<br />
<span>If you want to change that property forever, either edit perldaemon.conf or do this:</span><br />
@@ -131,7 +136,7 @@ Stopping daemon now...
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre>$ ./control keys daemon.loopinterval=<font color="#000000">10</font> &gt; new.conf; mv new.conf conf/perldaemon.conf
+<pre><font color="#ff0000">$ </font><font color="#F3E651">.</font><font color="#ff0000">/control keys daemon</font><font color="#F3E651">.</font><font color="#ff0000">loopinterval</font><font color="#F3E651">=</font><font color="#bb00ff">10</font><font color="#ff0000"> </font><font color="#F3E651">&gt;</font><font color="#ff0000"> new</font><font color="#F3E651">.</font><font color="#ff0000">conf</font><font color="#F3E651">;</font><font color="#ff0000"> mv new</font><font color="#F3E651">.</font><font color="#ff0000">conf conf/perldaemon</font><font color="#F3E651">.</font><font color="#ff0000">conf</font>
</pre>
<br />
<h2 style='display: inline' id='hires-event-loop'>HiRes event loop</h2><br />
@@ -148,35 +153,35 @@ http://www.gnu.org/software/src-highlite -->
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><b><u><font color="#000000">package</font></u></b> PerlDaemonModules::ExampleModule;
+<pre><b><font color="#ffffff">package</font></b><font color="#ff0000"> PerlDaemonModules</font><font color="#F3E651">::</font><font color="#ff0000">ExampleModule</font><font color="#F3E651">;</font>
-<b><u><font color="#000000">use</font></u></b> strict;
-<b><u><font color="#000000">use</font></u></b> warnings;
+<b><font color="#ffffff">use</font></b><font color="#ff0000"> strict</font><font color="#F3E651">;</font>
+<b><font color="#ffffff">use</font></b><font color="#ff0000"> warnings</font><font color="#F3E651">;</font>
-<b><u><font color="#000000">sub</font></u></b> new ($$$) {
- <b><u><font color="#000000">my</font></u></b> ($class, $conf) = @_;
+<b><font color="#ffffff">sub</font></b><font color="#ff0000"> </font><font color="#7bc710">new</font><font color="#ff0000"> </font><font color="#F3E651">(</font><font color="#ff0000">$$$</font><font color="#F3E651">)</font><font color="#ff0000"> </font><font color="#F3E651">{</font>
+<font color="#ff0000"> </font><b><font color="#ffffff">my</font></b><font color="#ff0000"> </font><font color="#F3E651">(</font><font color="#ff0000">$class</font><font color="#F3E651">,</font><font color="#ff0000"> </font><font color="#ff0000">$conf</font><font color="#F3E651">)</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> </font><font color="#ff0000">@_</font><font color="#F3E651">;</font>
- <b><u><font color="#000000">my</font></u></b> $self = <b><u><font color="#000000">bless</font></u></b> { conf =&gt; $conf }, $class;
+<font color="#ff0000"> </font><b><font color="#ffffff">my</font></b><font color="#ff0000"> </font><font color="#ff0000">$self</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> </font><b><font color="#ffffff">bless</font></b><font color="#ff0000"> </font><font color="#F3E651">{</font><font color="#ff0000"> conf </font><font color="#F3E651">=&gt;</font><font color="#ff0000"> </font><font color="#ff0000">$conf</font><font color="#ff0000"> </font><font color="#F3E651">}</font><font color="#F3E651">,</font><font color="#ff0000"> </font><font color="#ff0000">$class</font><font color="#F3E651">;</font>
- <i><font color="silver"># Store some private module stuff</font></i>
- $self-&gt;{counter} = <font color="#000000">0</font>;
+<font color="#ff0000"> </font><i><font color="#ababab"># Store some private module stuff</font></i>
+<font color="#ff0000"> </font><font color="#ff0000">$self</font><font color="#F3E651">-&gt;</font><font color="#F3E651">{</font><font color="#ff0000">counter</font><font color="#F3E651">}</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> </font><font color="#bb00ff">0</font><font color="#F3E651">;</font>
- <b><u><font color="#000000">return</font></u></b> $self;
-}
+<font color="#ff0000"> </font><b><font color="#ffffff">return</font></b><font color="#ff0000"> </font><font color="#ff0000">$self</font><font color="#F3E651">;</font>
+<font color="#F3E651">}</font>
-<i><font color="silver"># Runs periodically in a loop (set interval in perldaemon.conf)</font></i>
-<b><u><font color="#000000">sub</font></u></b> <b><u><font color="#000000">do</font></u></b> ($) {
- <b><u><font color="#000000">my</font></u></b> $self = <b><u><font color="#000000">shift</font></u></b>;
- <b><u><font color="#000000">my</font></u></b> $conf = $self-&gt;{conf};
- <b><u><font color="#000000">my</font></u></b> $logger = $conf-&gt;{logger};
+<i><font color="#ababab"># Runs periodically in a loop (set interval in perldaemon.conf)</font></i>
+<b><font color="#ffffff">sub</font></b><font color="#ff0000"> </font><b><font color="#ffffff">do</font></b><font color="#ff0000"> </font><font color="#F3E651">(</font><font color="#ff0000">$</font><font color="#F3E651">)</font><font color="#ff0000"> </font><font color="#F3E651">{</font>
+<font color="#ff0000"> </font><b><font color="#ffffff">my</font></b><font color="#ff0000"> </font><font color="#ff0000">$self</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> </font><b><font color="#ffffff">shift</font></b><font color="#F3E651">;</font>
+<font color="#ff0000"> </font><b><font color="#ffffff">my</font></b><font color="#ff0000"> </font><font color="#ff0000">$conf</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> </font><font color="#ff0000">$self</font><font color="#F3E651">-&gt;</font><font color="#F3E651">{</font><font color="#ff0000">conf</font><font color="#F3E651">}</font><font color="#F3E651">;</font>
+<font color="#ff0000"> </font><b><font color="#ffffff">my</font></b><font color="#ff0000"> </font><font color="#ff0000">$logger</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> </font><font color="#ff0000">$conf</font><font color="#F3E651">-&gt;</font><font color="#F3E651">{</font><font color="#ff0000">logger</font><font color="#F3E651">}</font><font color="#F3E651">;</font>
- <i><font color="silver"># Calculate some private module stuff</font></i>
- <b><u><font color="#000000">my</font></u></b> $count = ++$self-&gt;{counter};
+<font color="#ff0000"> </font><i><font color="#ababab"># Calculate some private module stuff</font></i>
+<font color="#ff0000"> </font><b><font color="#ffffff">my</font></b><font color="#ff0000"> </font><font color="#ff0000">$count</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> </font><font color="#F3E651">++</font><font color="#ff0000">$self</font><font color="#F3E651">-&gt;</font><font color="#F3E651">{</font><font color="#ff0000">counter</font><font color="#F3E651">}</font><font color="#F3E651">;</font>
- $logger-&gt;logmsg(<font color="#808080">"ExampleModule Test $count"</font>);
-}
+<font color="#ff0000"> </font><font color="#ff0000">$logger</font><font color="#F3E651">-&gt;</font><font color="#7bc710">logmsg</font><font color="#F3E651">(</font><font color="#bb00ff">"ExampleModule Test $count"</font><font color="#F3E651">);</font>
+<font color="#F3E651">}</font>
-<font color="#000000">1</font>;
+<font color="#bb00ff">1</font><font color="#F3E651">;</font>
</pre>
<br />
<h3 style='display: inline' id='your-own-module'>Your own module</h3><br />
@@ -187,11 +192,11 @@ http://www.gnu.org/software/src-highlite -->
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre> cd ./lib/PerlDaemonModules/
- cp ExampleModule.pm YourModule.pm
- vi YourModule.pm
- cd -
- ./bin/perldaemon restart (or shortcurt ./control restart)
+<pre><font color="#ff0000"> cd </font><font color="#F3E651">.</font><font color="#ff0000">/lib/PerlDaemonModules</font><font color="#F3E651">/</font>
+<font color="#ff0000"> cp ExampleModule</font><font color="#F3E651">.</font><font color="#ff0000">pm YourModule</font><font color="#F3E651">.</font><font color="#ff0000">pm</font>
+<font color="#ff0000"> vi YourModule</font><font color="#F3E651">.</font><font color="#ff0000">pm</font>
+<font color="#ff0000"> cd -</font>
+<font color="#ff0000"> </font><font color="#F3E651">.</font><font color="#ff0000">/bin/perldaemon restart </font><font color="#F3E651">(</font><font color="#ff0000">or shortcurt </font><font color="#F3E651">.</font><font color="#ff0000">/control restart</font><font color="#F3E651">)</font>
</pre>
<br />
<span>Now watch <span class='inlinecode'>./log/perldaemon.log</span> closely. It is a good practice to test your modules in &#39;foreground mode&#39; (see above how to do that).</span><br />
@@ -215,11 +220,12 @@ http://www.gnu.org/software/src-highlite -->
<br />
<a class='textlink' href='../'>Back to the main site</a><br />
<p class="footer">
- Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> |
- served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> |
- <a href="https://foo.zone/site-mirrors.html">Site Mirrors</a>
- <br />
- Webring: <a href="https://shring.sh/foo.zone/previous">previous</a> | <a href="https://shring.sh">shring</a> | <a href="https://shring.sh/foo.zone/next">next</a>
+ Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> |
+ served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> |
+ <a href="https://foo.zone/site-mirrors.html">Site Mirrors</a>
+ <br />
+ Webring: <a href="https://shring.sh/foo.zone/previous">previous</a> | <a href="https://shring.sh">shring</a> | <a href="https://shring.sh/foo.zone/next">next</a>
</p>
+<script type="text/javascript" src="../retrofuturistic.js"></script>
</body>
</html>