예제 #1
0
 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']);
 }
예제 #3
0
 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);
 }