当前位置: 首页>>代码示例>>PHP>>正文


PHP Worker::run方法代码示例

本文整理汇总了PHP中Worker::run方法的典型用法代码示例。如果您正苦于以下问题:PHP Worker::run方法的具体用法?PHP Worker::run怎么用?PHP Worker::run使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Worker的用法示例。


在下文中一共展示了Worker::run方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: run

 public function run()
 {
     $count = 0;
     echo "Loading initial data...\n";
     $this->db = wfGetDB(DB_SLAVE, null, 'wikicities');
     $this->loadIndex();
     $this->loadImagePaths();
     echo "Processing...\n";
     foreach ($this->meta as $city) {
         echo " {$city['dbname']} ";
         flush();
         if ($this->dataExists($city['dbname'])) {
             echo "skipped (data already exists)\n";
             continue;
         }
         $lock = Lock::acquire_return('iter-' . $city['id']);
         if (!$lock) {
             echo "skipped (lock taken)\n";
             continue;
         }
         $worker = new Worker($city['dbname'], $city);
         if ($worker->run()) {
             $city = array_merge($city, $worker->get());
             $this->save($city['dbname'], $city);
         }
         $lock->release();
         echo "done\n";
     }
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:29,代码来源:collect.php

示例2: run

 public function run()
 {
     $this->onMessage = array($this, 'onMessage');
     parent::run();
 }
开发者ID:suhanyujie,项目名称:hprose-workerman,代码行数:5,代码来源:HproseWorkermanService.php

示例3: init

$optsConfig = array('help|h' => 'Skrypt do generowania maili i smsów do wysyłki.', 'action|a=s' => "Lista dostępnych akcji: getsms|getmail|setupsms|setupmail");
include 'init.php';
class Worker extends Logic_Cmd_Action
{
    protected $_worker;
    public function init()
    {
        parent::init();
        $this->_worker = new GearmanWorker();
    }
    protected function runAction()
    {
        $this->_worker->addServer();
        $this->_worker->addFunction('setup', array(new Logic_Gearman_Worker_Setup(), "setup"));
        $this->_worker->addFunction('sendpackage', array(new Logic_Gearman_Worker_Send(), "sendpackage"));
        while (1) {
            try {
                $this->_worker->work();
                // work() will block execution until a job is delivered
            } catch (Exception $exc) {
                $this->_logger->err($exc->getMessage());
            }
            if ($this->_worker->returnCode() != GEARMAN_SUCCESS) {
                $this->_logger->err("An error has occured during gearman worker process..");
            }
        }
    }
}
$cmd = new Worker($opts, $application);
$cmd->run();
开发者ID:knatorski,项目名称:SMS,代码行数:30,代码来源:worker.php

示例4: forkOneWorker

 /**
  * 创建一个子进程
  * @param Worker $worker
  * @throws Exception
  */
 protected static function forkOneWorker($worker)
 {
     $pid = pcntl_fork();
     // 获得可用的id
     $id = self::getId($worker->workerId, 0);
     // 主进程记录子进程pid
     if ($pid > 0) {
         self::$_pidMap[$worker->workerId][$pid] = $pid;
         self::$_idMap[$worker->workerId][$id] = $pid;
     } elseif (0 === $pid) {
         // 如果设置了端口复用,则在子进程执行监听
         if ($worker->reusePort) {
             $worker->listen();
         }
         // 启动过程中尝试重定向标准输出
         if (self::$_status === self::STATUS_STARTING) {
             self::resetStd();
         }
         self::$_pidMap = array();
         self::$_workers = array($worker->workerId => $worker);
         Timer::delAll();
         self::setProcessTitle('WorkerMan: worker process  ' . $worker->name . ' ' . $worker->getSocketName());
         self::setProcessUser($worker->user);
         $worker->id = $id;
         $worker->run();
         exit(250);
     } else {
         throw new Exception("forkOneWorker fail");
     }
 }
开发者ID:lisonglin0129,项目名称:LDFRAMEWORK,代码行数:35,代码来源:Worker.php


注:本文中的Worker::run方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。