|
@@ -14,6 +14,8 @@ class Zzjobs extends Start_Controller
|
|
parent::__construct();
|
|
parent::__construct();
|
|
$this->load->_model("Model_zzjobs","zzjobs");
|
|
$this->load->_model("Model_zzjobs","zzjobs");
|
|
$this->load->_model("Model_logic_tools",'logic_tools');
|
|
$this->load->_model("Model_logic_tools",'logic_tools');
|
|
|
|
+ $this->load->_model("Model_fullordererrors","fullordererrors");
|
|
|
|
+ $this->load->_model("Model_logic_order","logic_order");
|
|
}
|
|
}
|
|
public function _remap($arg, $arg_array)
|
|
public function _remap($arg, $arg_array)
|
|
{
|
|
{
|
|
@@ -70,63 +72,44 @@ class Zzjobs extends Start_Controller
|
|
|
|
|
|
//其他的就不限制了
|
|
//其他的就不限制了
|
|
private function _jobs() {
|
|
private function _jobs() {
|
|
- $m = (int)date("i");//当前分钟
|
|
|
|
- // 1分钟的队列
|
|
|
|
- $list_1 = $this->zzjobs->find_all('do_interval = 1 and status = 0');
|
|
|
|
- // 5分钟的队列
|
|
|
|
- $list_5 = [];
|
|
|
|
- if($m%5 == 0){
|
|
|
|
- $list_5 = $this->zzjobs->find_all('do_interval = 5 and status = 0');
|
|
|
|
- }
|
|
|
|
- // 10分钟的队列
|
|
|
|
- $list_10 = [];
|
|
|
|
- if($m%10 == 0){
|
|
|
|
- $list_10 = $this->zzjobs->find_all('do_interval = 10 and status = 0');
|
|
|
|
- }
|
|
|
|
- // 30分钟的队列
|
|
|
|
- $list_30 = [];
|
|
|
|
- if($m%30 == 0){
|
|
|
|
- $list_30 = $this->zzjobs->find_all('do_interval = 10 and status = 0');
|
|
|
|
- }
|
|
|
|
- $list = array_merge($list_1,$list_5,$list_10,$list_30);
|
|
|
|
- $do_list_ids = array_column($list,'id');
|
|
|
|
-
|
|
|
|
- if(empty($do_list_ids)){
|
|
|
|
- exit("No jobs to do");
|
|
|
|
|
|
+ $this->db->query("DELETE from crowd_zzjobs where status = 30");
|
|
|
|
+
|
|
|
|
+ $final_list = $this->zzjobs->find_all("status = 0","*",null,0,100);
|
|
|
|
+ if(empty($final_list)){
|
|
|
|
+ return ;
|
|
}
|
|
}
|
|
- $this->db->query("update crowd_zzjobs set status = 1 where id in (".implode(",",$do_list_ids).")");
|
|
|
|
- foreach($list as $k=>$v){
|
|
|
|
|
|
+ $do_list_ids = array_column($final_list,'id');
|
|
|
|
+ $this->db->query("update crowd_zzjobs set status = 10 where id in (".implode(",",$do_list_ids).")");
|
|
|
|
+ foreach($final_list as $v){
|
|
$this->tasksAssign($v);
|
|
$this->tasksAssign($v);
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
+
|
|
private function tasksAssign($info){
|
|
private function tasksAssign($info){
|
|
switch($info['quque']){
|
|
switch($info['quque']){
|
|
- case '1m':
|
|
|
|
- $this->zzjobs->save([
|
|
|
|
- 'result'=>$this->logic_tools->ret_json(1,"1m队列已经执行"),
|
|
|
|
- 'last_time'=>time()
|
|
|
|
- ],$info['id']);
|
|
|
|
- break;
|
|
|
|
- case '5m':
|
|
|
|
- $this->zzjobs->save([
|
|
|
|
- 'result'=>$this->logic_tools->ret_json(1,"没有对应发方法执行任务"),
|
|
|
|
- 'last_time'=>time()
|
|
|
|
- ],$info['id']);
|
|
|
|
- break;
|
|
|
|
- case '10m':
|
|
|
|
- $this->zzjobs->save([
|
|
|
|
- 'result'=>$this->logic_tools->ret_json(1,"没有对应发方法执行任务"),
|
|
|
|
- 'last_time'=>time()
|
|
|
|
- ],$info['id']);
|
|
|
|
- break;
|
|
|
|
- case '30':
|
|
|
|
|
|
+ case 'outtime_order':
|
|
|
|
+ $params = json_decode($info['payload'],true);
|
|
|
|
+ $order_info = $this->logic_order->getInfo("number = '".$params['number']."'","*");
|
|
|
|
+ if(!empty($order_info)){
|
|
|
|
+ $this->fullordererrors->insert([
|
|
|
|
+ 'number'=>$order_info['number'],
|
|
|
|
+ 'shop'=>$order_info['shop'],
|
|
|
|
+ 'plat'=>$order_info['lv_platform'],
|
|
|
|
+ 'error_msg'=>"订单打印超时,请核对订单是否核对",
|
|
|
|
+ 'error_time'=>$info['create_time'],
|
|
|
|
+ 'create_time'=>time()
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
$this->zzjobs->save([
|
|
$this->zzjobs->save([
|
|
- 'result'=>$this->logic_tools->ret_json(1,"没有对应发方法执行任务"),
|
|
|
|
|
|
+ 'status'=>30,
|
|
|
|
+ 'result'=>$this->logic_tools->ret_json(1,"执行完毕"),
|
|
'last_time'=>time()
|
|
'last_time'=>time()
|
|
],$info['id']);
|
|
],$info['id']);
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
$this->zzjobs->save([
|
|
$this->zzjobs->save([
|
|
|
|
+ 'status'=>20,
|
|
'result'=>$this->logic_tools->ret_json(-1,"没有对应发方法执行任务"),
|
|
'result'=>$this->logic_tools->ret_json(-1,"没有对应发方法执行任务"),
|
|
'last_time'=>time()
|
|
'last_time'=>time()
|
|
],$info['id']);
|
|
],$info['id']);
|