mirror of
https://github.com/friendica/friendica
synced 2025-04-25 13:10:11 +00:00
Individual defer limits per worker task
This commit is contained in:
parent
a7c985a590
commit
9faad72ec0
4 changed files with 15 additions and 4 deletions
|
@ -1379,10 +1379,11 @@ class Worker
|
|||
/**
|
||||
* Defers the current worker entry
|
||||
*
|
||||
* @param int $worker_defer_limit Maximum defer limit
|
||||
* @return boolean had the entry been deferred?
|
||||
* @throws \Exception
|
||||
*/
|
||||
public static function defer(): bool
|
||||
public static function defer(int $worker_defer_limit = 0): bool
|
||||
{
|
||||
$queue = DI::app()->getQueue();
|
||||
|
||||
|
@ -1395,6 +1396,10 @@ class Worker
|
|||
|
||||
$max_level = DI::config()->get('system', 'worker_defer_limit');
|
||||
|
||||
if ($worker_defer_limit) {
|
||||
$max_level = min($worker_defer_limit, $max_level);
|
||||
}
|
||||
|
||||
$new_retrial = self::getNextRetrial($queue, $max_level);
|
||||
|
||||
if ($new_retrial > $max_level) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue