diff --git a/plugins/OpportunisticQM/lib/opportunisticqueuemanager.php b/plugins/OpportunisticQM/lib/opportunisticqueuemanager.php index 5c5ce4c203..c10873e995 100644 --- a/plugins/OpportunisticQM/lib/opportunisticqueuemanager.php +++ b/plugins/OpportunisticQM/lib/opportunisticqueuemanager.php @@ -18,7 +18,7 @@ class OpportunisticQueueManager extends DBQueueManager { protected $qmkey = false; protected $max_execution_time = null; - protected $max_execution_margin = null; // margin to execution time, including timeouts etc. + protected $max_execution_margin = null; // margin to PHP's max_execution_time protected $max_queue_items = null; protected $started_at = null; @@ -45,7 +45,7 @@ class OpportunisticQueueManager extends DBQueueManager } if ($this->max_execution_margin === null) { - $this->max_execution_margin = 10; // should be calculated from our default timeouts for http requests etc. + $this->max_execution_margin = 10; // think PHP's max exec time, minus this value to have time for timeouts etc. } return parent::__construct(); @@ -67,7 +67,7 @@ class OpportunisticQueueManager extends DBQueueManager return false; } // If too much time has passed, stop - if ($time_passed >= $this->max_execution_time - $this->max_execution_margin) { + if ($time_passed >= $this->max_execution_time || $time_passed > ini_get('max_execution_time') - $this->max_execution_margin) { return false; } // If we have a max-item-limit, check if it has been passed