more queue optimisation

This commit is contained in:
Mike Macgirvin 2023-02-07 08:40:25 +11:00
parent 3b4d869c0b
commit 990f8da45a
2 changed files with 11 additions and 12 deletions

View file

@ -40,6 +40,8 @@ class Queue implements DaemonInterface
db_quoteinterval('3 DAY') db_quoteinterval('3 DAY')
); );
$deliveries = [];
if ($queue_id) { if ($queue_id) {
$qItems = q("SELECT * FROM outq WHERE outq_hash = '%s' LIMIT 1", $qItems = q("SELECT * FROM outq WHERE outq_hash = '%s' LIMIT 1",
dbesc($queue_id) dbesc($queue_id)
@ -48,16 +50,15 @@ class Queue implements DaemonInterface
Zlib\Queue::deliver(array_shift($qItems)); Zlib\Queue::deliver(array_shift($qItems));
} }
else { else {
do { $qItems = q("SELECT * FROM outq WHERE outq_delivered = 0 and outq_scheduled < %s ",
$qItems = q(
"SELECT * FROM outq WHERE outq_delivered = 0 and outq_scheduled < %s limit 1",
db_utcnow() db_utcnow()
); );
if ($qItems) { if ($qItems) {
logger('queue deliver: ' . $qItems[0]['outq_hash'] . ' to ' . $qItems[0]['outq_posturl'], LOGGER_DEBUG); foreach ($qItems as $qItem) {
Zlib\Queue::deliver(array_shift($qItems)); $deliveries[] = $qItem['outq_hash'];
}
do_delivery($deliveries);
} }
} while ($qItems);
} }
} }
} }

View file

@ -770,9 +770,7 @@ function do_delivery($deliveries, $force = false)
return; return;
} }
$interval = ((get_config('system', 'delivery_interval') !== false) $interval = intval(get_config('system', 'delivery_interval',2));
? intval(get_config('system', 'delivery_interval')) : 2 );
$deliveries_per_process = intval(get_config('system', 'delivery_batch_count')); $deliveries_per_process = intval(get_config('system', 'delivery_batch_count'));
if ($deliveries_per_process <= 0) { if ($deliveries_per_process <= 0) {