public function testWorkerTransitionEvent() { $mock_transition = $this->getMock('LaterJob\\Model\\Activity\\Transition'); $mock_worker = $this->getMockBuilder('LaterJob\\Worker')->disableOriginalConstructor()->getMock(); $event = new WorkerTransitionEvent($mock_worker, $mock_transition); $this->assertEquals($mock_worker, $event->getWorker()); $this->assertEquals($mock_transition, $event->getTransition()); }
/** * Save the transition to the database * * @access public * @return boolean * @param WorkerTransitionEvent $event */ protected function saveTransition(WorkerTransitionEvent $event) { try { $obj = $event->getTransition(); $result = $this->gateway->insertQuery()->start()->addColumn('worker_id', $obj->getWorker())->addColumn('state_id', $obj->getState())->addColumn('dte_occured', $obj->getOccured())->addColumn('transition_msg', $obj->getMessage())->addColumn('process_handle', $obj->getProcessHandle())->end()->insert(); # assign the id to the object $obj->setTransitionId($this->gateway->lastInsertId()); if ($result === false) { throw new LaterJobException('Unable to save transition for Worker:: ' . $obj->getWorker() . ' It already exists'); } } catch (DBALGatewayException $e) { throw new LaterJobException($e->getMessage(), 0, $e); } }
/** * Log events that occur from a worker * * @access public * @param WorkerTransitionEvent$event */ public function logWorkerEvent(WorkerTransitionEvent $event) { $this->log->info($event->getTransition()->getMessage(), array('worker_id' => $event->getWorker()->getId())); }
/** * Log events that occur from a worker * * @access public * @param WorkerTransitionEvent$event */ public function logWorkerEvent(WorkerTransitionEvent $event) { $this->output->writeln('<comment>' . $event->getTransition()->getMessage() . '</comment> ' . json_encode(array('worker_id' => $event->getWorker()->getId()))); }