public function execute(CommittedJob $job, LogProvider $logProvider) { $r = new \ReflectionClass($job->getImplementation()); $task = $r->newInstance(); if ($task instanceof LoggerAwareInterface) { $task->setLogger($logProvider->getLogger()); } $task->perform(...$job->getArguments()); }
public function execute($job, LogProvider $logProvider) { list($serviceId, $method) = $this->parseImplementation($job['class']); $kernel = $this->createKernel($job); $this->bootKernel($kernel, $job); is_null($this->output) || $this->injectOutput($kernel, $this->output); $this->injectLogHandler($kernel, $logProvider->getMetroHandler()); $this->invoke($kernel, $serviceId, $method, $job['args']); }
function it_invokes_tasks(LogProvider $logProvider) { $logProvider->getLogger()->shouldBeCalled()->willReturn(new NullLogger()); $job = new CommittedJob('id', 'queue', ExampleJob::class, 'arg1', 'arg2'); $this->execute($job, $logProvider); }