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/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); 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