aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Daemon/README.md
diff options
context:
space:
mode:
authorredmatrix <git@macgirvin.com>2016-07-28 19:58:05 -0700
committerredmatrix <git@macgirvin.com>2016-07-28 19:58:05 -0700
commitae5c10a71cd29722f63b379b62801dea52a9ab8f (patch)
tree5c9c0c6668369f5ffbd4f5c7b635c9c1ec96b996 /Zotlabs/Daemon/README.md
parent2d4b75428a87038b9a637bf49fc0a91c91b392fb (diff)
parent4d5202353fbce12f19fbe578205259d2a7bd3f04 (diff)
downloadvolse-hubzilla-1.10.tar.gz
volse-hubzilla-1.10.tar.bz2
volse-hubzilla-1.10.zip
Merge branch '1.10RC'1.10
Diffstat (limited to 'Zotlabs/Daemon/README.md')
-rw-r--r--Zotlabs/Daemon/README.md43
1 files changed, 43 insertions, 0 deletions
diff --git a/Zotlabs/Daemon/README.md b/Zotlabs/Daemon/README.md
new file mode 100644
index 000000000..cb5b00a56
--- /dev/null
+++ b/Zotlabs/Daemon/README.md
@@ -0,0 +1,43 @@
+Daemon (background) Processes
+=============================
+
+
+This directory provides background tasks which are executed by a
+command-line process and detached from normal web processing.
+
+Background tasks are invoked by calling
+
+
+ Zotlabs\Daemon\Master::Summon([ $cmd, $arg1, $argn... ]);
+
+The Master class loads the desired command file and passes the arguments.
+
+
+To create a background task 'Foo' use the following template.
+
+ <?php
+
+ namespace Zotlabs\Daemon;
+
+ class Foo {
+
+ static public function run($argc,$argv) {
+ // do something
+ }
+ }
+
+
+The Master class "summons" the command by creating an executable script
+from the provided arguments, then it invokes "Release" to execute the script
+detached from web processing. This process calls the static::run() function
+with any command line arguments using the traditional argc, argv format.
+
+Please note: These are *real* $argc, $argv variables passed from the command
+line, and not the parsed argc() and argv() functions/variables which were
+obtained from parsing path components of the request URL by web processes.
+
+Background processes do not emit displayable output except through logs. They
+should also not make any assumptions about their HTML and web environment
+(as they do not have a web environment), particularly with respect to global
+variables such as $_SERVER, $_REQUEST, $_GET, $_POST, $_COOKIES, and $_SESSION.
+