processnum = $GLOBALS['DAEMON_NUMLIMIT'][DAEMON_SYNC_INCREMENT_ORDERS]; // $this->is_while = false; } public function deal() { $obj = new mOrder(); $rdobj = $obj->initRedis(); $jsondata = $rdobj->rpop(_RQ_SYNC_INCREMENT_ORDERS); if ($jsondata === false) exit(); $data = json_decode($jsondata, true); if (time() < strtotime($data['end_date'])) { sleep(10); $rdobj->lpush(_RQ_SYNC_INCREMENT_ORDERS, $jsondata); return true; } $start_date = $data['start_date']; $end_date = $data['end_date']; $name = $data['name']; $sobj = new mShop(); $shopinfo = $sobj->getShopByName($name); if (empty($shopinfo)) return false; $pobj = new mPdd(); for ($page=1;;$page++) { $trades = $pobj->getPddIncrOrderList($name, $start_date, $end_date, ORDER_STATUS_FULL, REFUND_STATUS_FULL, $page, 100); if (!$trades) break; if (empty($trades['order_sn_list'])) break; $obj->addOrders($trades['order_sn_list'], $shopinfo['id'], $shopinfo['uid']); if ($trades['has_next'] != true) break; } $rdobj->lpush(_RQ_SYNC_INCREMENT_ORDERS, json_encode(array('name'=>$name, 'start_date'=>$end_date, 'end_date'=>date("Y-m-d H:i:s", strtotime($end_date." +30 minute"))))); } } new syncIncrementOrders();