From 14b35dcf18cb3e720af6fc2e4c4118f0c9ff1c87 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 --- airtime_mvc/application/Bootstrap.php | 12 ------------ .../controllers/plugins/PageLayoutInitPlugin.php | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 391de011f..a4537b4c4 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -91,18 +91,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(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 _initZFDebug() { diff --git a/airtime_mvc/application/controllers/plugins/PageLayoutInitPlugin.php b/airtime_mvc/application/controllers/plugins/PageLayoutInitPlugin.php index 67818ec84..069ee6ef0 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()) {