X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fcronhooks.php;h=4bb1e5f65960b3b3c1bbad1077d34628388040b0;hb=d49325d177cf03b97df250ca3cb081421c541049;hp=22812fb8643beed7dbc1c7b246f15e99d185de07;hpb=beb2346cfc8e3aa57ed0203e35034241e814b61a;p=friendica.git diff --git a/include/cronhooks.php b/include/cronhooks.php index 22812fb864..4bb1e5f659 100644 --- a/include/cronhooks.php +++ b/include/cronhooks.php @@ -27,10 +27,21 @@ function cronhooks_run(&$argv, &$argc){ if (App::callstack() != "poller_run") { if (App::maxload_reached()) return; - if (App::is_already_running('include/cronhooks.php', 'cronhooks', 1140)) + if (App::is_already_running('cronhooks', 'include/cronhooks.php', 1140)) return; } + load_hooks(); + + if (($argc == 2) AND is_array($a->hooks) AND array_key_exists("cron", $a->hooks)) { + foreach ($a->hooks["cron"] as $hook) + if ($hook[1] == $argv[1]) { + logger("Calling cron hook '".$hook[1]."'", LOGGER_DEBUG); + call_single_hook($a, $name, $hook, $data); + } + return; + } + $last = get_config('system','last_cronhook'); $poll_interval = intval(get_config('system','cronhook_interval')); @@ -47,13 +58,17 @@ function cronhooks_run(&$argv, &$argc){ $a->set_baseurl(get_config('system','url')); - load_hooks(); - logger('cronhooks: start'); $d = datetime_convert(); - call_hooks('cron', $d); + if (get_config("system", "worker") AND is_array($a->hooks) AND array_key_exists("cron", $a->hooks)) { + foreach ($a->hooks["cron"] as $hook) { + logger("Calling cronhooks for '".$hook[1]."'", LOGGER_DEBUG); + proc_run(PRIORITY_MEDIUM, "include/cronhooks.php", $hook[1]); + } + } else + call_hooks('cron', $d); logger('cronhooks: end');