]> git.mxchange.org Git - friendica-addons.git/blob - pumpio/pumpio_sync.php
346376fa00d6fde9d26e40f1e972441a7d4607cb
[friendica-addons.git] / pumpio / pumpio_sync.php
1 <?php
2 if (!file_exists("boot.php") AND (sizeof($_SERVER["argv"]) != 0)) {
3         $directory = dirname($_SERVER["argv"][0]);
4
5         if (substr($directory, 0, 1) != "/")
6                 $directory = $_SERVER["PWD"]."/".$directory;
7
8         $directory = realpath($directory."/..");
9
10         chdir($directory);
11 }
12
13 require_once("boot.php");
14
15
16 function pumpio_sync_run(&$argv, &$argc){
17         global $a, $db;
18
19         if(is_null($a)) {
20                 $a = new App;
21         }
22
23         if(is_null($db)) {
24                 @include(".htconfig.php");
25                 require_once("include/dba.php");
26                 $db = new dba($db_host, $db_user, $db_pass, $db_data);
27                 unset($db_host, $db_user, $db_pass, $db_data);
28         };
29
30         require_once("addon/pumpio/pumpio.php");
31         require_once("include/pidfile.php");
32
33         $maxsysload = intval(get_config('system','maxloadavg'));
34         if($maxsysload < 1)
35                 $maxsysload = 50;
36         if(function_exists('sys_getloadavg')) {
37                 $load = sys_getloadavg();
38                 if(intval($load[0]) > $maxsysload) {
39                         logger('system: load ' . $load[0] . ' too high. Pumpio sync deferred to next scheduled run.');
40                         return;
41                 }
42         }
43
44         $lockpath = get_lockpath();
45         if ($lockpath != '') {
46                 $pidfile = new pidfile($lockpath, 'pumpio_sync');
47                 if($pidfile->is_already_running()) {
48                         logger("Already running");
49                         if ($pidfile->running_time() > 9*60) {
50                                 $pidfile->kill();
51                                 logger("killed stale process");
52                                 // Calling a new instance
53                                 proc_run('php','addon/pumpio/pumpio_sync.php');
54                         }
55                         exit;
56                 }
57         }
58
59         pumpio_sync($a);
60 }
61
62 if (array_search(__file__,get_included_files())===0){
63         pumpio_sync_run($_SERVER["argv"],$_SERVER["argc"]);
64         killme();
65 }
66 ?>