OpportunisticQM matches against _system_ max_execution_time

Probably never runs if max_execution_time is 0. I'll handle that later.
This commit is contained in:
Mikael Nordfeldth 2016-01-11 13:35:29 +01:00
parent b13f8df79b
commit 8acf930c45

View File

@ -18,7 +18,7 @@ class OpportunisticQueueManager extends DBQueueManager
{ {
protected $qmkey = false; protected $qmkey = false;
protected $max_execution_time = null; 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 $max_queue_items = null;
protected $started_at = null; protected $started_at = null;
@ -45,7 +45,7 @@ class OpportunisticQueueManager extends DBQueueManager
} }
if ($this->max_execution_margin === null) { 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(); return parent::__construct();
@ -67,7 +67,7 @@ class OpportunisticQueueManager extends DBQueueManager
return false; return false;
} }
// If too much time has passed, stop // 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; return false;
} }
// If we have a max-item-limit, check if it has been passed // If we have a max-item-limit, check if it has been passed