租房掌柜微信小程序Api以及小程序前端模板
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

124 lines
3.2 KiB

<?php
// +----------------------------------------------------------------------
// | ThinkAdmin
// +----------------------------------------------------------------------
// | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
// +----------------------------------------------------------------------
// | 官方网站: http://demo.thinkadmin.top
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
// +----------------------------------------------------------------------
namespace app\admin\queue;
use app\admin\service\QueueService;
use think\console\Output;
/**
* 基础指令公共类
* Class JobsQueue
* @package app\admin
*/
class JobsQueue
{
/**
* 待处理
*/
const STATUS_PEND = 1;
/**
* 处理中
*/
const STATUS_PROC = 2;
/**
* 处理完成
*/
const STATUS_COMP = 3;
/**
* 处理失败
*/
const STATUS_FAIL = 4;
/**
* 任务ID
* @var integer
*/
protected $id;
/**
* 任务数据
* @var array
*/
protected $data;
/**
* 任务名称
* @var string
*/
protected $title;
/**
* 任务状态
* @var integer
*/
protected $status;
/**
* @var Output
*/
protected $output;
/**
* 任务状态描述
* @var string
*/
protected $statusDesc = '';
/**
* 启动任务处理
* @param \think\queue\Job $job 当前任务对象
* @param array $data 任务执行对象
* @throws \think\Exception
* @throws \think\exception\PDOException
*/
public function fire(\think\queue\Job $job, $data = [])
{
$this->data = $data;
$this->output = new Output();
$this->id = isset($data['_job_id_']) ? $data['_job_id_'] : '';
$this->title = isset($data['_job_title_']) ? $data['_job_title_'] : '';
$this->output->newLine();
$this->output->writeln(" system task {$this->id} execution start");
$this->output->writeln('---------------------------------------------');
QueueService::status($this->id, self::STATUS_PROC, $this->statusDesc);
if ($this->execute()) {
$this->output->writeln('---------------------------------------------');
$this->output->info(" successful");
$this->status = self::STATUS_COMP;
} else {
$this->output->writeln('---------------------------------------------');
$this->output->error(" failure");
$this->status = self::STATUS_FAIL;
}
$job->delete();
QueueService::status($this->id, $this->status, $this->statusDesc);
$this->output->writeln('---------------------------------------------');
$this->output->newLine();
}
/**
* 执行任务
* @return boolean
*/
protected function execute()
{
return true;
}
}