示例#1
0
 /**
  * @param string                          $event
  * @param CM_Jobdistribution_Job_Abstract $job
  * @param array                           $defaultJobParams
  */
 public function bindJob($event, CM_Jobdistribution_Job_Abstract $job, array $defaultJobParams = null)
 {
     $event = (string) $event;
     $defaultJobParams = (array) $defaultJobParams;
     $this->bind($event, function (array $jobParams = null) use($job, $defaultJobParams) {
         $jobParams = (array) $jobParams;
         $jobParams = array_merge($defaultJobParams, $jobParams);
         $job->queue($jobParams);
     });
 }
示例#2
0
文件: Cli.php 项目: NicolasSchmutz/cm
 /**
  * @keepalive
  */
 public function startWorker()
 {
     $worker = new CM_Jobdistribution_JobWorker();
     foreach (CM_Jobdistribution_Job_Abstract::getClassChildren() as $jobClassName) {
         $job = new $jobClassName();
         $worker->registerJob($job);
     }
     $worker->run();
 }
示例#3
0
文件: Cli.php 项目: cargomedia/cm
 /**
  * @keepalive
  */
 public function startWorker()
 {
     $worker = new CM_Jobdistribution_JobWorker(1000);
     $worker->setServiceManager($this->getServiceManager());
     foreach (CM_Jobdistribution_Job_Abstract::getClassChildren() as $jobClassName) {
         /** @var CM_Jobdistribution_Job_Abstract $job */
         $job = new $jobClassName();
         if ($job instanceof CM_Service_ManagerAwareInterface) {
             /** @var CM_Service_ManagerAwareInterface $job */
             $job->setServiceManager($this->getServiceManager());
         }
         $worker->registerJob($job);
     }
     $worker->run();
 }