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