everyMinute(); //每分钟执行一次 } /** * 执行任务 * @return mixed */ protected function execute() { try{ $this->device(); $this->addDeviceTask(); $this->deviceStart(); $this->deviceTaskRemind(); }catch (\Exception $e){ trace($e->getMessage()); } } //处理已超时设备台账任务,并从任务栏删除 public function device(){ set_time_limit(0); ini_set("memory_limit","1024M"); (new \app\common\model\DeviceTask())->timer_action(); } //近12个小时的设备台账任务加入到任务栏 public function addDeviceTask(){ (new \app\common\model\DeviceTask())->addDeviceTask(); } // 设备台账任务将要开始提醒 每分钟执行一次 public function deviceStart(){ $curTime = date('Y-m-d H:i').':00'; $users = Db::name('device_task_user') ->alias('ptu') ->join('device_task pt','pt.id = ptu.task_id') ->where('pt.del',0) ->where('pt.status',0) ->where('pt.start_time',$curTime) ->column('ptu.user_id'); if($users){ send_jpush($users,AppMsg::PUSH_DEVICE_TASK,'您有新的设备台账任务将要开始,请及时执行。'); } } //提前五分钟提醒 public function deviceTaskRemind(){ $curStr= time() - 60*5; $date = date('Y-m-d H:i',$curStr).':00'; $users = Db::name('device_task_user') ->alias('ptu') ->join('device_task pt','pt.id = ptu.task_id') ->where('pt.del',0) ->where('pt.status',0) ->where('pt.start_time',$date) ->column('ptu.user_id'); send_jpush($users,AppMsg::PUSH_DEVICE_TASK,'您有新的设备维保任务将要开始,请及时执行。'); } }