/** * This source file is subject to the new BSD license that is * available through the world-wide-web at this URL: * http://www.pimcore.org/license * * @copyright Copyright (c) 2013 Weblizards GbR (http://www.weblizards.de) * @author Thomas Keil <*****@*****.**> * @license http://www.pimcore.org/license New BSD License */ ini_set('memory_limit', '2048M'); set_time_limit(-1); date_default_timezone_set("Europe/Berlin"); include_once dirname(__FILE__) . "/../../../pimcore/config/startup.php"; Pimcore::initAutoloader(); Pimcore::initConfiguration(); Pimcore::initLogger(); Pimcore::initPlugins(); $opts = new Zend_Console_Getopt(array('language|l=s' => "language", 'document|d=s' => "document")); try { $opts->parse(); } catch (Exception $e) { Logger::critical($e->getMessage()); die("Error: " . $e->getMessage()); } $sphinx_config = SphinxSearch_Config::getInstance(); $documents = $sphinx_config->getDocumentsAsArray(); if (!array_key_exists($opts->document, $documents)) { SphinxSearch_Logger::err("Unknown document: " . $opts->document . "\n"); print "Unknown document: " . $opts->document . "\n"; print "Possible documents are:\n"; foreach ($documents as $document_name => $document_config) {
/** * @param $job * @return bool */ protected function launchJob($job) { $pid = pcntl_fork(); if ($pid == -1) { //Problem launching the job \Logger::error('Could not launch new job with id [ ' . $job->getId() . ' ], exiting'); return false; } else { if ($pid) { $this->currentJobs[$pid] = $job->getId(); if (isset($this->signalQueue[$pid])) { $this->childSignalHandler(SIGCHLD, $pid, $this->signalQueue[$pid]); unset($this->signalQueue[$pid]); } } else { //Forked child try { \Pimcore\Db::reset(); // reset resource \Pimcore::initLogger(); // reinit logger so that he gets a different token eg for mailing \Logger::debug("Executing job [ " . $job->getId() . " ] as forked child"); $job->execute(); } catch (\Exception $e) { \Logger::error($e); \Logger::error("Failed to execute job with id [ " . $job->getId() . " ] and method [ " . $job->getMethod() . " ]"); } $job->unlock(); \Logger::debug("Done with job [ " . $job->getId() . " ]"); exit(0); } } return true; }