]> git.mxchange.org Git - friendica.git/blob - include/cronhooks.php
Merge pull request #932 from annando/master
[friendica.git] / include / cronhooks.php
1 <?php
2
3 require_once("boot.php");
4
5
6 function cronhooks_run(&$argv, &$argc){
7         global $a, $db;
8
9         if(is_null($a)) {
10                 $a = new App;
11         }
12
13         if(is_null($db)) {
14             @include(".htconfig.php");
15         require_once("include/dba.php");
16             $db = new dba($db_host, $db_user, $db_pass, $db_data);
17         unset($db_host, $db_user, $db_pass, $db_data);
18         };
19
20         require_once('include/session.php');
21         require_once('include/datetime.php');
22         require_once('include/pidfile.php');
23
24         load_config('config');
25         load_config('system');
26
27         $maxsysload = intval(get_config('system','maxloadavg'));
28         if($maxsysload < 1)
29                 $maxsysload = 50;
30         if(function_exists('sys_getloadavg')) {
31                 $load = sys_getloadavg();
32                 if(intval($load[0]) > $maxsysload) {
33                         logger('system: load ' . $load . ' too high. Poller deferred to next scheduled run.');
34                         return;
35                 }
36         }
37
38         $lockpath = get_config('system','lockpath');
39         if ($lockpath != '') {
40                 $pidfile = new pidfile($lockpath, 'cron.lck');
41                 if($pidfile->is_already_running()) {
42                         logger("cronhooks: Already running");
43                         exit;
44                 }
45         }
46
47         $a->set_baseurl(get_config('system','url'));
48
49         load_hooks();
50
51         logger('cronhooks: start');
52
53
54         $d = datetime_convert();
55
56         call_hooks('cron', $d);
57
58         return;
59 }
60
61 if (array_search(__file__,get_included_files())===0){
62   cronhooks_run($argv,$argc);
63   killme();
64 }