44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
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.
|
|
|