]> git.mxchange.org Git - friendica.git/blobdiff - include/queue.php
Reschedule killed processes at the beginning of the queue.
[friendica.git] / include / queue.php
index 157fc88d944a350b747a731ef0756f1117d432cb..9779a0733d3f65bcb5916fe37beefccacaf86f6d 100644 (file)
@@ -22,29 +22,15 @@ function queue_run(&$argv, &$argc){
        require_once("include/datetime.php");
        require_once('include/items.php');
        require_once('include/bbcode.php');
-       require_once('include/pidfile.php');
        require_once('include/socgraph.php');
 
        load_config('config');
        load_config('system');
 
        // Don't check this stuff if the function is called by the poller
-       if (App::callstack() != "poller_run") {
-               $lockpath = get_lockpath();
-               if ($lockpath != '') {
-                       $pidfile = new pidfile($lockpath, 'queue');
-                       if($pidfile->is_already_running()) {
-                               logger("queue: Already running");
-                               if ($pidfile->running_time() > 9*60) {
-                                       $pidfile->kill();
-                                       logger("queue: killed stale process");
-                                       // Calling a new instance
-                                       proc_run('php',"include/queue.php");
-                               }
-                               return;
-                       }
-               }
-       }
+       if (App::callstack() != "poller_run")
+               if (App::is_already_running('queue', 'include/queue.php', 540))
+                       return;
 
        $a->set_baseurl(get_config('system','url'));
 
@@ -62,7 +48,7 @@ function queue_run(&$argv, &$argc){
        logger('queue: start');
 
        // Handling the pubsubhubbub requests
-       proc_run('php','include/pubsubpublish.php');
+       proc_run(PRIORITY_HIGH,'include/pubsubpublish.php');
 
        $interval = ((get_config('system','delivery_interval') === false) ? 2 : intval(get_config('system','delivery_interval')));
 
@@ -74,7 +60,7 @@ function queue_run(&$argv, &$argc){
        if($r) {
                foreach($r as $rr) {
                        logger('queue: deliverq');
-                       proc_run('php','include/delivery.php',$rr['cmd'],$rr['item'],$rr['contact']);
+                       proc_run(PRIORITY_HIGH,'include/delivery.php',$rr['cmd'],$rr['item'],$rr['contact']);
                        if($interval)
                                @time_sleep_until(microtime(true) + (float) $interval);
                }
@@ -207,7 +193,7 @@ function queue_run(&$argv, &$argc){
                        case NETWORK_DIASPORA:
                                if($contact['notify']) {
                                        logger('queue: diaspora_delivery: item '.$q_item['id'].' for '.$contact['name'].' <'.$contact['url'].'>');
-                                       $deliver_status = diaspora_transmit($owner,$contact,$data,$public,true);
+                                       $deliver_status = diaspora::transmit($owner,$contact,$data,$public,true);
 
                                        if($deliver_status == (-1)) {
                                                update_queue_time($q_item['id']);