use think\facade\Log;Log::init(['single'=>'queue','file_size'=>1024*1024*10,'level'=>['error'],]); 日志将输出到runtime目录的queue-cli.log文件 这里能解决三个问题: 1、避免生成太多的日志文件,将日志文件大小尽量设置大一点 2、将记录日志的级别调成error的时候才记录 3、将queue日志独立开来,...
'level' => ['error'],]); 日志将输出到runtime目录的queue-cli.log文件 这里能解决三个问题: 1、避免生成太多的日志文件,将日志文件大小尽量设置大一点 2、将记录日志的级别调成error的时候才记录 3、将queue日志独立开来,容易分辨 但是,最好的解决办法就是直接捕获异常 try{ }catch (Exception $ex){ } ...
* @param $job_data */publicfunctionlog(Job$job,$job_data,$message=''){//初始化日志文件目录Log::init(['type'=>'File','path'=>RUNTIME_PATH.'queue_jobs_log/']);Log::record($message.' 【任务类】:'.var_export($job,true).' 【数据】:'.var_export($job_data,true));}} 以及Make...
redirect_stderr=true;把stderr重定向到stdout,默认falsestdout_logfile_maxbytes=20MB;stdout日志文件大小,默认50MB stdout_logfile_backups=20;stdout日志文件备份数,默认是10;stdout日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件) stdout_logfile=/opt/apache-t...
// 可以在这里记录失败日志 } } 发布任务 代码语言:txt 复制 $job = \app\job\Mail::class; $data = [ 'to' => '86849180@qq.com', 'subject' => '测试邮件', 'message' => '门前,大桥下,游来一群鸭~~' ]; // 方式一:推送任务到队列,并立即执行 ...
[ // 应用初始化 'app_init' => [], // 应用开始 'app_begin' => [], // 模块初始化 'module_init' => [], // 操作开始执行 'action_begin' => [], // 视图内容过滤 'view_filter' => [], // 日志写入 'log_write' => [], ...
> reread # 读取有更新(增加)的配置文件,不会启动新添加的程序 > update # 重启配置文件修改过的程序 例如启动queue程序: 这时再去推送消息,可以看到如下信息: >红圈中的是日志文件,可见队列消费完成,数据插入成功 数据库插入数据如下: 结束 至此,tp5(think-queue)消息队列结合supervisor已实现进程常驻...
{publicfunctionfire(Job$job,$data){if($job->attempts()>3){//执行失败写入错误日志Log::error('fire执行失败');//删除这个任务$job->delete(); }else{$toemail="407489255@qq.com"; //定义收件人的邮箱$username="407486225@qq.com"; //发送方的邮箱地址$password="qmxrvjgohiucbbgj"; //发送方邮...
使用tp5勾子实现think-queue消息队列实例,实现后台操作日志到添加到数据库 前提:thinkphp5框架基础上,已包含topthink/think-queue消息队列依赖包,可以用composer下载,这里不懂可以百度,就不说你。 1、创建admin_op_log数据表(字段不要更改) CREATE TABLE `admin_op_log` ( ...
运行自己编写的消息队列并根据日志查看是否正常运行 命令 Work模式 queue:work 用于启动一个工作进程来处理消息队列 $ php think queue:work --queue dismiss_job_queue 1. 参数说明 --daemon是否循环执行,如果不加该参数则该命令处理完下一个消息就退出。