thinkphp6消息队列think-queue
·
// 创建JobQueue.php
<?php
namespace app\job;
use think\queue\Job;
class JobQueue
{
public function fire(Job $job, $data)
{
if ($job->attempts() > 3) {
$job->delete();
}
$doJob = $this->doJob($data);
if ($doJob) {
$job->delete();
}else{
$job->release(3); // 3秒后重试
}
}
/**
* 根据消息中的数据进行实际的业务处理...
* @param array|mixed $data
*/
private function doJob($data)
{
// 处理逻辑、数据库操作
return true;
}
/**
* @param $data
* @Version 2.0 失败处理
*/
public function failed($data)
{
// 失败处理
}
}
// 在控制器使用 Index.php
<?php
namespace app\http;
use think\facade\Queue;
class Index{
public function index(){
$class = 'app\job\JobQueue'; // 类名
$name = 'my_queue'; // 队列名称
$rest = $this->request->post();
Queue::later(1, $class, $rest, $name);
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)