mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-12 04:23:19 +00:00
syslog + maillog in task / task-manager as service
fix task interfaces / cleanup fix tests using task manager
This commit is contained in:
@@ -44,11 +44,11 @@ class module_console_taskrun extends Command
|
||||
, task_abstract::RUNNER_MANUAL
|
||||
);
|
||||
$this->addOption(
|
||||
'nolog'
|
||||
, NULL
|
||||
, 1 | InputOption::VALUE_NONE
|
||||
, 'do not log to logfile'
|
||||
, NULL
|
||||
'ttylogLevel'
|
||||
, 't'
|
||||
, InputOption::VALUE_REQUIRED
|
||||
, 'threshold : (DEBUG|INFO|WARNING|ERROR|CRITICAL|ALERT)'
|
||||
, ''
|
||||
);
|
||||
$this->setDescription('Run task');
|
||||
|
||||
@@ -74,7 +74,8 @@ class module_console_taskrun extends Command
|
||||
throw new \RuntimeException('Argument must be an Id.');
|
||||
}
|
||||
|
||||
$task_manager = new task_manager($this->container);
|
||||
$task_manager = $this->container['task-manager'];
|
||||
$logger = $task_manager->getLogger();
|
||||
|
||||
if ($input->getOption('runner') === task_abstract::RUNNER_MANUAL) {
|
||||
$schedStatus = $task_manager->getSchedulerState();
|
||||
@@ -102,6 +103,44 @@ class module_console_taskrun extends Command
|
||||
$this->container['monolog']->pushHandler($handler);
|
||||
$this->task = $task_manager->getTask($task_id, $this->container['monolog']);
|
||||
|
||||
$lib2v = array(
|
||||
'DEBUG' => task_abstract::LOG_DEBUG,
|
||||
'INFO' => task_abstract::LOG_INFO,
|
||||
'WARNING' => task_abstract::LOG_WARNING,
|
||||
'ERROR' => task_abstract::LOG_ERROR,
|
||||
'CRITICAL' => task_abstract::LOG_CRITICAL,
|
||||
'ALERT' => task_abstract::LOG_ALERT
|
||||
);
|
||||
|
||||
$tmpTask = $task_manager->getTask($task_id, null);
|
||||
$taskname = $tmpTask->getName();
|
||||
unset($tmpTask);
|
||||
|
||||
|
||||
// log to tty ?
|
||||
|
||||
if(($ttylogLevel = strtoupper($input->getOption('ttylogLevel'))) != '') {
|
||||
if (!array_key_exists($ttylogLevel, $lib2v)) {
|
||||
throw(new RuntimeException(sprintf(
|
||||
"Bad value '%s' for option loglevel\nuse DEBUG|INFO|WARNING|ERROR|CRITICAL|ALERT", $ttylogLevel))
|
||||
);
|
||||
}
|
||||
$handler = new Handler\StreamHandler(
|
||||
"php://stdout",
|
||||
$lib2v[$ttylogLevel],
|
||||
true
|
||||
);
|
||||
$logger->pushHandler($handler);
|
||||
}
|
||||
|
||||
$logfile = __DIR__ . '/../../../../logs/task_' . $task_id . '.log';
|
||||
$handler = new Handler\RotatingFileHandler($logfile, 10); //, $lib2v[$loglevelOption], true);
|
||||
$logger->pushHandler($handler);
|
||||
|
||||
|
||||
$this->task = $task_manager->getTask($task_id, $logger);
|
||||
|
||||
|
||||
register_tick_function(array($this, 'tick_handler'), true);
|
||||
declare(ticks = 1);
|
||||
|
||||
|
Reference in New Issue
Block a user