From 0d0e5e638863a18b8ba78222dbc77dd9a94ed9cc Mon Sep 17 00:00:00 2001 From: Jean-Yves Gaulier Date: Wed, 15 May 2019 11:50:27 +0200 Subject: [PATCH 1/2] PHRAS-2399_arch-task-cnx-timeout_4.1 add reconnect everywhere --- .../Phrasea/TaskManager/Job/ArchiveJob.php | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/lib/Alchemy/Phrasea/TaskManager/Job/ArchiveJob.php b/lib/Alchemy/Phrasea/TaskManager/Job/ArchiveJob.php index deaeb96ecc..532eb8bbb5 100644 --- a/lib/Alchemy/Phrasea/TaskManager/Job/ArchiveJob.php +++ b/lib/Alchemy/Phrasea/TaskManager/Job/ArchiveJob.php @@ -70,6 +70,10 @@ class ArchiveJob extends AbstractJob protected function doJob(JobData $data) { $app = $data->getApplication(); + + // quick fix to reconnect if mysql is lost + $app->getApplicationBox()->get_connection(); + $task = $data->getTask(); $settings = simplexml_load_string($task->getSettings()); @@ -83,6 +87,9 @@ class ArchiveJob extends AbstractJob $databox = $app->findDataboxById($sbasId); + // quick fix to reconnect if mysql is lost + $databox->get_connection(); + $TColls = []; $collection = null; foreach ($databox->get_collections() as $coll) { @@ -562,6 +569,10 @@ class ArchiveJob extends AbstractJob private function archive(Application $app, \databox $databox, \DOMDOcument $dom, \DOMElement $node, $path, $path_archived, $path_error, $depth, $moveError, $moveArchived, $stat0, $stat1) { + // quick fix to reconnect if mysql is lost + $app->getApplicationBox()->get_connection(); + $databox->get_connection(); + if ($node->getAttribute('temperature') == 'hot') { return; } @@ -820,6 +831,10 @@ class ArchiveJob extends AbstractJob private function archiveGrp(Application $app, \databox $databox, \DOMDocument $dom, \DOMElement $node, $path, $path_archived, $path_error, array &$nodesToDel, $moveError, $moveArchived, $stat0, $stat1) { + // quick fix to reconnect if mysql is lost + $app->getApplicationBox()->get_connection(); + $databox->get_connection(); + $xpath = new \DOMXPath($dom); // grp folders stay in place @@ -984,6 +999,10 @@ class ArchiveJob extends AbstractJob public function createStory(Application $app, \collection $collection, $pathfile, $captionFile, $stat0, $stat1) { + // quick fix to reconnect if mysql is lost + $app->getApplicationBox()->get_connection(); + $databox->get_connection(); + $status = \databox_status::operation_or($stat0, $stat1); $media = $app->getMediaFromUri($pathfile); @@ -1032,6 +1051,10 @@ class ArchiveJob extends AbstractJob */ public function createRecord(Application $app, \collection $collection, $pathfile, $captionFile, $grp_rid, $force, $stat0, $stat1) { + // quick fix to reconnect if mysql is lost + $app->getApplicationBox()->get_connection(); + $collection->get_connection(); + $status = \databox_status::operation_or($stat0, $stat1); $media = $app->getMediaFromUri($pathfile); @@ -1097,6 +1120,10 @@ class ArchiveJob extends AbstractJob */ private function archiveFilesToGrp(Application $app, \databox $databox, \DOMDocument $dom, \DOMElement $node, $path, $path_archived, $path_error, $grp_rid, $stat0, $stat1, $moveError, $moveArchived) { + // quick fix to reconnect if mysql is lost + $app->getApplicationBox()->get_connection(); + $databox->get_connection(); + $nodesToDel = []; for ($n = $node->firstChild; $n; $n = $n->nextSibling) { if (!$this->isStarted()) { @@ -1134,6 +1161,10 @@ class ArchiveJob extends AbstractJob */ private function archiveFile(Application $app, \databox $databox, \DOMDocument $dom, \DOMElement $node, $path, $path_archived, $path_error, array &$nodesToDel, $grp_rid, $stat0, $stat1, $moveError, $moveArchived) { + // quick fix to reconnect if mysql is lost + $app->getApplicationBox()->get_connection(); + $databox->get_connection(); + $match = $node->getAttribute('match'); if ($match == '*') { @@ -1188,6 +1219,10 @@ class ArchiveJob extends AbstractJob */ private function archiveFileAndCaption(Application $app, \databox $databox, \DOMDocument $dom, \DOMElement $node, \DOMElement $captionFileNode = null, $path, $path_archived, $path_error, $grp_rid, array &$nodesToDel, $stat0, $stat1, $moveError, $moveArchived) { + // quick fix to reconnect if mysql is lost + $app->getApplicationBox()->get_connection(); + $databox->get_connection(); + $file = $node->getAttribute('name'); $cid = $node->getAttribute('cid'); $captionFileName = $captionFileNode ? $captionFileNode->getAttribute('name') : null; @@ -1361,6 +1396,9 @@ class ArchiveJob extends AbstractJob */ protected function getLazaretSession(Application $app) { + // quick fix to reconnect if mysql is lost + $app->getApplicationBox()->get_connection(); + $lazaretSession = new LazaretSession(); $app['orm.em']->persist($lazaretSession); From 02790561b6124d9704753249933a195de7b6a0b1 Mon Sep 17 00:00:00 2001 From: Xavier Rousset Date: Wed, 15 May 2019 17:22:11 +0200 Subject: [PATCH 2/2] Update playbook for phraseanet vagrant box workflow --- Vagrantfile | 5 +++++ resources/ansible/playbook.yml | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 1b1f577b3f..74f8710e8e 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -123,6 +123,11 @@ Vagrant.configure("2") do |config| config.vm.box = "alchemy/Phraseanet-vagrant-dev" #config.vm.box = "ubuntu/trusty64" + # In case, Phraseanet box, choose the php version + # For php 7.0 use box 0.0.1 + # For php 7.1 use box 0.0.2 + config.vm.box_version = "0.0.1" + config.ssh.forward_agent = true config_net(config) diff --git a/resources/ansible/playbook.yml b/resources/ansible/playbook.yml index 704c5b96ec..370b427481 100644 --- a/resources/ansible/playbook.yml +++ b/resources/ansible/playbook.yml @@ -7,12 +7,12 @@ # - server # - repositories # - vagrant_local -# - nginx + - nginx # - mariadb # - elasticsearch # - rabbitmq # - php -# - xdebug + - xdebug # - composer # - mailcatcher # - node