예제 #1
0
 /**
  * 开始处理产品数据
  */
 public function runAction()
 {
     //$pid = 16607872;
     //$pid = 16665795;
     //$this->moveProduct($pid);
     //exit;
     $di = \Phalcon\DI::getDefault();
     $di->setShared('beanstalkd', function () {
         $queue = new SocketBeanstalk(array('host' => '192.168.8.189', 'port' => 11300));
         return $queue;
     });
     while (1) {
         \Xz\Lib\Core\RunTime::start();
         $di->get("beanstalkd")->watch("forbuyers_product_move");
         $job = $di->get("beanstalkd")->reserve(1);
         if (empty($job)) {
             sleep(1);
             continue;
         }
         $result = "";
         $result = !empty($job['body']) ? $job['body'] : array();
         if (empty($result)) {
             sleep(1);
             continue;
         }
         $di->get("beanstalkd")->delete($job['id']);
         $pidArr = json_decode($result, true);
         foreach ($pidArr as $pid) {
             $this->moveProduct($pid);
         }
     }
 }
예제 #2
0
 public function __construct($appPath, $mode = 'Web')
 {
     RunTime::start();
     $cfgvar = get_cfg_var('phaplus.env');
     $env = !empty($cfgvar) ? $cfgvar : 'dev';
     define('APP_MODE', $this->modeMap[$mode]);
     define('APP_ROOT', rtrim($appPath, '/') . '/');
     define('APP_ENV', $env);
     $this->init();
 }
예제 #3
0
 public function callService($data)
 {
     echo "service is doing:.\n";
     var_dump($data);
     echo ".\n";
     \Xz\Lib\Core\RunTime::start();
     // 判断数据是否正确
     if (empty($data['data']['service']) || empty($data['data']['method']) || !isset($data['data']['args'])) {
         // 发送数据给客户端,请求包错误
         return array('fd' => $data['fd'], 'data' => array('code' => 600, 'msg' => 'bad request', 'data' => 0));
     }
     $di = new \Phalcon\DI();
     require APP_ROOT . 'apps/config/loaderyar.php';
     $backend = new \Xz\Lib\Core\BackendServer();
     $ret = array();
     $ret['data'] = $backend->callService($data['data']);
     $ret['fd'] = $data['fd'];
     \Phalcon\DI::reset();
     echo "service is complete:.\n";
     var_dump($ret);
     echo ".\n";
     return $ret;
 }