]> git.mxchange.org Git - friendica.git/commitdiff
Inherit the creation date
authorMichael <heluecht@pirati.ca>
Sun, 11 Jun 2017 07:41:38 +0000 (07:41 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 11 Jun 2017 07:41:38 +0000 (07:41 +0000)
boot.php
include/notifier.php
include/pubsubpublish.php

index 15341c0fed29199c676e8739753b50f55f980bc8..2ad057d4cab100f5eb9b7c7d1cf840c482d8b784 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -1069,6 +1069,7 @@ function proc_run($cmd) {
 
        $priority = PRIORITY_MEDIUM;
        $dont_fork = get_config("system", "worker_dont_fork");
+       $created = datetime_convert();
 
        if (is_int($run_parameter)) {
                $priority = $run_parameter;
@@ -1076,6 +1077,9 @@ function proc_run($cmd) {
                if (isset($run_parameter['priority'])) {
                        $priority = $run_parameter['priority'];
                }
+               if (isset($run_parameter['created'])) {
+                       $created = $run_parameter['created'];
+               }
                if (isset($run_parameter['dont_fork'])) {
                        $dont_fork = $run_parameter['dont_fork'];
                }
@@ -1088,7 +1092,7 @@ function proc_run($cmd) {
        $found = dba::select('workerqueue', array('id'), array('parameter' => $parameters), array('limit' => 1));
 
        if (!dbm::is_result($found)) {
-               dba::insert('workerqueue', array('parameter' => $parameters, 'created' => datetime_convert(), 'priority' => $priority));
+               dba::insert('workerqueue', array('parameter' => $parameters, 'created' => $created, 'priority' => $priority));
        }
 
        // Should we quit and wait for the poller to be called as a cronjob?
index a08057f6772fa49611bb79f9fb29cec0f9f35ffb..a5f378a55c21d1e6900bf7c8d4ed1306be92884a 100644 (file)
@@ -56,13 +56,15 @@ function notifier_run(&$argv, &$argc){
        }
 
        // Inherit the priority
-       $queue = dba::select('workerqueue', array('priority'), array('pid' => getmypid()), array('limit' => 1));
+       $queue = dba::select('workerqueue', array('priority', 'created'), array('pid' => getmypid()), array('limit' => 1));
        if (dbm::is_result($queue)) {
                $priority = (int)$queue['priority'];
+               $process_created = $queue['created'];
                logger('inherited priority: '.$priority);
        } else {
                // Normally this shouldn't happen.
                $priority = PRIORITY_HIGH;
+               $process_created = datetime_convert();
                logger('no inherited priority! Something is wrong.');
        }
 
@@ -498,7 +500,8 @@ function notifier_run(&$argv, &$argc){
                        }
                        logger("Deliver ".$target_item["guid"]." to ".$contact['url']." via network ".$contact['network'], LOGGER_DEBUG);
 
-                       proc_run(array('priority' => $priority, 'dont_fork' => true), 'include/delivery.php', $cmd, $item_id, $contact['id']);
+                       proc_run(array('priority' => $priority, 'created' => $process_created, 'dont_fork' => true),
+                                       'include/delivery.php', $cmd, $item_id, $contact['id']);
                }
        }
 
@@ -563,7 +566,8 @@ function notifier_run(&$argv, &$argc){
 
                                if ((! $mail) && (! $fsuggest) && (! $followup)) {
                                        logger('notifier: delivery agent: '.$rr['name'].' '.$rr['id'].' '.$rr['network'].' '.$target_item["guid"]);
-                                       proc_run(array('priority' => $priority, 'dont_fork' => true), 'include/delivery.php', $cmd, $item_id, $rr['id']);
+                                       proc_run(array('priority' => $priority, 'created' => $process_created, 'dont_fork' => true),
+                                                       'include/delivery.php', $cmd, $item_id, $rr['id']);
                                }
                        }
                }
@@ -603,7 +607,8 @@ function notifier_run(&$argv, &$argc){
                }
 
                // Handling the pubsubhubbub requests
-               proc_run(array('priority' => PRIORITY_HIGH, 'dont_fork' => true), 'include/pubsubpublish.php');
+               proc_run(array('priority' => PRIORITY_HIGH, 'created' => $process_created, 'dont_fork' => true),
+                               'include/pubsubpublish.php');
        }
 
        logger('notifier: calling hooks', LOGGER_DEBUG);
index 1112969f2705ee3a9f773aceded4c0dfef8558e1..7c70059f90fd1a151f06b03d0ffe5e8cdcdce468 100644 (file)
@@ -11,13 +11,24 @@ function pubsubpublish_run(&$argv, &$argc){
        if ($argc > 1) {
                $pubsubpublish_id = intval($argv[1]);
        } else {
+               // Inherit the creation time
+               $queue = dba::select('workerqueue', array('created'), array('pid' => getmypid()), array('limit' => 1));
+               if (dbm::is_result($queue)) {
+                       $process_created = $queue['created'];
+               } else {
+                       // Normally this shouldn't happen.
+                       $process_created = datetime_convert();
+                       logger('no inherited priority! Something is wrong.');
+               }
+
                // We'll push to each subscriber that has push > 0,
                // i.e. there has been an update (set in notifier.php).
                $r = q("SELECT `id`, `callback_url` FROM `push_subscriber` WHERE `push` > 0");
 
                foreach ($r as $rr) {
                        logger("Publish feed to ".$rr["callback_url"], LOGGER_DEBUG);
-                       proc_run(array('priority' => PRIORITY_HIGH, 'dont_fork' => true), 'include/pubsubpublish.php', $rr["id"]);
+                       proc_run(array('priority' => PRIORITY_HIGH, 'created' => $process_created, 'dont_fork' => true),
+                                       'include/pubsubpublish.php', $rr["id"]);
                }
        }