mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-20 04:15:12 +00:00
more queue work
This commit is contained in:
parent
1b290f573a
commit
0d7062ffdf
3 changed files with 12 additions and 5 deletions
|
@ -12,6 +12,7 @@ class Queue {
|
||||||
require_once('include/items.php');
|
require_once('include/items.php');
|
||||||
require_once('include/bbcode.php');
|
require_once('include/bbcode.php');
|
||||||
|
|
||||||
|
|
||||||
if(argc() > 1)
|
if(argc() > 1)
|
||||||
$queue_id = argv(1);
|
$queue_id = argv(1);
|
||||||
else
|
else
|
||||||
|
|
|
@ -1433,14 +1433,19 @@ function scrape_feed($url) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function do_delivery($deliveries) {
|
|
||||||
|
|
||||||
|
function do_delivery($deliveries, $force = false) {
|
||||||
|
|
||||||
|
// $force is set if a site that wasn't responding suddenly returns to life.
|
||||||
|
// Try and shove through everything going to that site while it's responding.
|
||||||
|
|
||||||
if(! (is_array($deliveries) && count($deliveries)))
|
if(! (is_array($deliveries) && count($deliveries)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
$x = q("select count(outq_hash) as total from outq where outq_delivered = 0");
|
$x = q("select count(outq_hash) as total from outq where outq_delivered = 0");
|
||||||
if(intval($x[0]['total']) > intval(get_config('system','force_queue_threshold',300))) {
|
if(intval($x[0]['total']) > intval(get_config('system','force_queue_threshold',300)) && (! $force)) {
|
||||||
logger('immediate delivery deferred.', LOGGER_DEBUG, LOG_INFO);
|
logger('immediate delivery deferred.', LOGGER_DEBUG, LOG_INFO);
|
||||||
foreach($deliveries as $d) {
|
foreach($deliveries as $d) {
|
||||||
update_queue_item($d);
|
update_queue_item($d);
|
||||||
|
|
|
@ -42,7 +42,7 @@ function update_queue_item($id, $add_priority = 0) {
|
||||||
$next = datetime_convert('UTC','UTC','now + 1 hour');
|
$next = datetime_convert('UTC','UTC','now + 1 hour');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$next = datetime_convert('UTC','UTC','now + 15 minutes');
|
$next = datetime_convert('UTC','UTC','now + ' . intval($add_priority) . ' minutes');
|
||||||
}
|
}
|
||||||
|
|
||||||
q("UPDATE outq SET outq_updated = '%s',
|
q("UPDATE outq SET outq_updated = '%s',
|
||||||
|
@ -200,14 +200,15 @@ function queue_deliver($outq, $immediate = false) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($piled_up) {
|
if($piled_up) {
|
||||||
do_delivery($piled_up);
|
// call do_delivery() with the force flag
|
||||||
|
do_delivery($piled_up, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
logger('deliver: queue post returned ' . $result['return_code']
|
logger('deliver: queue post returned ' . $result['return_code']
|
||||||
. ' from ' . $outq['outq_posturl'],LOGGER_DEBUG);
|
. ' from ' . $outq['outq_posturl'],LOGGER_DEBUG);
|
||||||
update_queue_item($outq['outq_hash']);
|
update_queue_item($outq['outq_hash'],10);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue