From a6eb4dc3e84d7ad7b6c5c1bffec11f32667fb78a Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 29 Oct 2015 09:37:39 -0400 Subject: [PATCH] Fix for in-app lock contention - move task initialization into PageLayoutInitPlugin to run after session is loaded Conflicts: airtime_mvc/application/Bootstrap.php --- airtime_mvc/application/Bootstrap.php | 14 -------------- .../controllers/plugins/PageLayoutInitPlugin.php | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 1f4c66ba2..fd7987cab 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -82,20 +82,6 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap $view->doctype('XHTML1_STRICT'); } - - protected function _initTasks() { - /* We need to wrap this here so that we aren't checking when we're running the unit test suite - */ - if (getenv("AIRTIME_UNIT_TEST") != 1) { - $taskManager = TaskManager::getInstance(); - $taskManager->runTask(AirtimeTask::UPGRADE); // Run the upgrade on each request (if it needs to be run) - //This will do the upgrade too if it's needed... - $taskManager->runTasks(); - } - } - - - protected function _initZFDebug() { diff --git a/airtime_mvc/application/controllers/plugins/PageLayoutInitPlugin.php b/airtime_mvc/application/controllers/plugins/PageLayoutInitPlugin.php index dca720028..bf847c32c 100644 --- a/airtime_mvc/application/controllers/plugins/PageLayoutInitPlugin.php +++ b/airtime_mvc/application/controllers/plugins/PageLayoutInitPlugin.php @@ -48,6 +48,7 @@ class PageLayoutInitPlugin extends Zend_Controller_Plugin_Abstract $this->_initGlobals(); $this->_initCsrfNamespace(); + $this->_initTasks(); $this->_initHeadLink(); $this->_initHeadScript(); $this->_initTitle(); @@ -56,6 +57,20 @@ class PageLayoutInitPlugin extends Zend_Controller_Plugin_Abstract } } + /** + * If we're not running unit tests, run the TaskManager tasks on each request + */ + protected function _initTasks() { + /* We need to wrap this here so that we aren't checking when we're running the unit test suite + */ + if (getenv("AIRTIME_UNIT_TEST") != 1) { + $taskManager = TaskManager::getInstance(); + $taskManager->runTask(TaskFactory::UPGRADE); // Run the upgrade on each request (if it needs to be run) + //This will do the upgrade too if it's needed... + $taskManager->runTasks(); + } + } + protected function _initGlobals() { if (!Zend_Session::isStarted()) {