diff options
author | zotlabs <mike@macgirvin.com> | 2017-01-17 00:14:47 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2017-01-17 00:14:47 -0800 |
commit | 335d9af8dc4b02f8ec4017d30525a65e93c40eb2 (patch) | |
tree | f3f561a5a2e23386d416e328e4c2d9f788a9cf47 | |
parent | 8478ecc6755eefb1977566c8f4bbbd603d5b37db (diff) | |
download | volse-hubzilla-335d9af8dc4b02f8ec4017d30525a65e93c40eb2.tar.gz volse-hubzilla-335d9af8dc4b02f8ec4017d30525a65e93c40eb2.tar.bz2 volse-hubzilla-335d9af8dc4b02f8ec4017d30525a65e93c40eb2.zip |
daemon_addon hook - lets plugins create custom background processes.
-rw-r--r-- | Zotlabs/Daemon/Addon.php | 14 | ||||
-rw-r--r-- | doc/hook/daemon_addon.bb | 15 | ||||
-rw-r--r-- | doc/hooklist.bb | 3 |
3 files changed, 32 insertions, 0 deletions
diff --git a/Zotlabs/Daemon/Addon.php b/Zotlabs/Daemon/Addon.php new file mode 100644 index 000000000..c2889e596 --- /dev/null +++ b/Zotlabs/Daemon/Addon.php @@ -0,0 +1,14 @@ +<?php + +namespace Zotlabs\Daemon; + +require_once('include/zot.php'); + +class Addon { + + static public function run($argc,$argv) { + + call_hooks('daemon_addon',$argv); + + } +} diff --git a/doc/hook/daemon_addon.bb b/doc/hook/daemon_addon.bb new file mode 100644 index 000000000..b60b25748 --- /dev/null +++ b/doc/hook/daemon_addon.bb @@ -0,0 +1,15 @@ +[h2]daemon_addon[/h2] + + +A foreground plugin can create a background process by invoking: + +[code] +\Zotlabs\Daemon\Master::Summon([ 'Addon', 'myplugin', 'something' ]); +[/code] + +This starts up a background process (called 'Addon') specifically for addons to use. + +Then if your plugin is also catching the daemon_addon hook that handler will be called with the +argv array of the background process. In this case [ 'myplugin', 'something' ]; + +We recommend using this convention so that plugins can share this hook without causing conflicts; that is check to see if your plugin is the first array argument and if not, return from the hook. Otherwise you can initiate background processing. Something to remember is that during background processes there is no session. You are detached from the web page which created the background process.
\ No newline at end of file diff --git a/doc/hooklist.bb b/doc/hooklist.bb index 863824590..c965b7c44 100644 --- a/doc/hooklist.bb +++ b/doc/hooklist.bb @@ -148,6 +148,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the [zrl=[baseurl]/help/hook/crypto_methods]crypto_methods[/zrl] Called when generating a list of crypto algorithms in the locally preferred order +[zrl=[baseurl]/help/hook/daemon_addon]daemon_addon[/zrl] + Called when invoking the extensible background daemon + [zrl=[baseurl]/help/hook/directory_item]directory_item[/zrl] Called when generating a directory listing for display |