队列为什么执行不全?
<?php
namespace App\Observers;
use App\Models\Topic;
use App\Jobs\baiduAi;
use App\Jobs\baiduAiContent;
class TopicObervers
{
public function created(Topic $topic)
{
//百度智能文本内容分析
dispatch(new baiduAiContent($topic));
//百度智能标签及智能分类
dispatch(new baiduAi($topic))->delay(now()->addMinutes(1));
}
}
两个问题:
1、一个是为什么有时候两个都执行,有时候只执行第一个或者第二个。。。。
2、我如果用saving方法,很多地方都会莫名其妙的执行队列,比如毫不相干,model都不一样的reply,用户回复都会出发队列
日志里有个这样的报错:
Exception: Job is incomplete class: {"__PHP_Incomplete_Class_Name":"App\\Jobs\\baiduAiContent"} in /www/wwwroot/kmchannel_bak/aikm.cn/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php:117
Job代码应该没有问题,现在有2个新情况
1、如果我手动php artisan horizon跑起来就正常了
2、报错的目录是错误的目录,正确是的是kmchannel
不是kmchannel_bak
Exception: Job is incomplete class: {“__PHP_Incomplete_Class_Name”:”App\Jobs\baiduAiContent”} in /www/wwwroot/
kmchannel_bak/aikm.cn/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php:117
kmchannel_bak里根本就没有Job那个问题,所以肯定报错了,supervisor里是不是哪里出问题了
这个时候 你应该 使用 事件
虽然不我知道你这个是为啥会这样
记录一下 待大佬给方案
执行的时候 是通过事务操作的吗?
把 Job 的代码贴上来
supervisor 权限看下是不是有问题
用的是 redis 队列么。。 我用的也是这个 量大的时候就感觉会丢失队列的数据?
supervisor配置更新后,要执行supervisorctl update命令才生效
我也遇到这个情况了,并且还没找到解决办法