]> git.mxchange.org Git - friendica.git/blob - mod/worker.php
The worker can now run from the frontend as well
[friendica.git] / mod / worker.php
1 <?php
2 require_once("include/poller.php");
3
4 use \Friendica\Core\Config;
5 use \Friendica\Core\PConfig;
6
7 function worker_init($a){
8
9         if (!get_config("system", "frontend_worker")) {
10                 return;
11         }
12
13         clear_worker_processes();
14
15         $workers = q("SELECT COUNT(*) AS `processes` FROM `process` WHERE `command` = 'worker.php'");
16
17         if ($workers[0]["processes"] > Config::get("system", "worker_queues", 4)) {
18                 return;
19         }
20
21         $a->start_process();
22
23         logger("Front end worker started: ".getmypid());
24
25         call_worker();
26
27         if ($r = poller_worker_process()) {
28                 poller_execute($r[0]);
29         }
30
31         call_worker();
32
33         $a->end_process();
34
35         logger("Front end worker ended: ".getmypid());
36
37         killme();
38 }