php listen命令,开启队列时,命令行输入php think queue:listen出现乱码
在宝塔面板使用消息队列的一下操作,提供参考
1.使用php7.1版本,在php管理中把“禁用函数”putenv 和proc_open 删除掉,然后在'安装扩展'里面安装redis扩展和fileinfo 扩展然后重启php7.1服务
2.在public目录下运行终端,执行composer require topthink/think-queue 1.1.6 ,版本不能过高
3.安装后在application/extra下将产生一个queue.php配置文件:
推荐使用redis驱动,参考配置如下:
return [//'connector' => 'Sync',
//redis
'connector'=>'redis',
'expire' => 0,
'default' => 'default',
'host' => '127.0.0.1',
'port' => 6379,
'password' => '',
'select' => 0,
'timeout' => 0,
'persistent' => false
//database
// 'connector' => 'database',
// 'expire' => 60,
// 'default' => 'default',
// 'table' => 'faqueue_jobs',
// 'dsn' => [
// 'type' => 'mysql',
// 'database' => '',
// 'hostname' => '',
// 'username' => '',
// 'password' => '',
// 'prefix' => '',
// ]
];
4.在public的上级目录(和application同一级)目录中运行终端,执行命令,执行后终端没有反应(正常现象),并且不能关闭终端
建议开发测试时使用
php think queue:listen
建议生产环境使用
php think queue:work --daemon(不加--daemon为执行单个任务)
5.这时可以进行测试了,在控制器中加入下面代码(注意,测试发送邮件功能需要在后台修改好邮件配置)
use addonsfaqueuelibraryQueueApi;
$a = QueueApi::sendEmail("测试队列",'690733717@qq.com','sssss');
print_r($a);//打印的是一个随机字符串
6.这个时候如果关闭终端,这个时候不会再执行这个发送邮件的功能(这个时候会存在redis缓存中,当重新执行的时候,会把缓存的所有数据统一执行,比如当关闭终端的时候又执行了2次发送邮件的代码,这个时候不会发送邮件,因为终端没有开启,需要开启终端,重新执行php think queue:listen,当重新开启终端的时候,这个时候会把缓存中的2条数据执行,然后发送缓存中的两条邮件)
7.在宝塔的软件商店里面安装supervisor管理器
添加守护进程,名称为英文,运行目录为/www/wwwroot/fastadmin.donghuiphp.com,参考自己的文件目录,和app同级,启动命令就是php think queue:listen,确定就好,这个时候就会在管理器中显示这个进程的状态,可以在日志查看中查看执行的状态
php listen命令,开启队列时,命令行输入php think queue:listen出现乱码相关推荐
- Linux中vi命令编辑文件时显示行号
vi file_name 直接进去时没有行号显示的,这时可以进入末行模式(文件末尾出现冒号)时输入 : set nu 效果如图: 这种做法有个弊端,在退出编辑后,再次进入编辑时行号就不再显示了. 配置 ...
- linux开启防火墙的命令行,Linux关闭/开启防火墙命令
Linux还是比较常用的,于是我研究了一下Linux关闭防火墙命令,在这里拿出来和大家分享一下,希望你能学会Linux关闭防火墙命令 . 1) 永久性生效,重启后不会复原 开启: chkconfig ...
- 安装需要的第三方库时,命令行输入pip提示不是内部或外部命令
简介 在做Python开发时,安装需要的第三方库时,大多数人喜欢选择在命令行用pip进行安装. 然而有时敲入pip命令会提示'pip'不是内部或外部命令..如图: 解决办法 1.在python安装目录 ...
- 第一:Python安装需要的第三方库时,命令行输入pip提示不是内部或外部命令
在做Python开发时,安装需要的第三方库时,大多数人喜欢选择在命令行用pip进行安装. 然而有时敲入pip命令会提示'pip'不是内部或外部命令..如图: 解决办法 1.在python安装目录中找得 ...
- 如何使linux终端还原,大师应对win10系统14316开启Linux Bash命令行的还原办法
很多的朋友在尝试win10系统新功能的过程中遇到了各式各样的问题,下面小编就来谈谈win10系统14316开启Linux Bash命令行的问题.如果电脑菜鸟遇到win10系统14316开启Linux ...
- Win10系统开启Linux Bash命令行
导读 在Build2016上微软为了拉拢开发者发了个大招,那就是Win10一周年更新集成原生Linux Bash命令行功能,这将允许开发者或用户在Windows10系统上以命令行形式运行Linux程序 ...
- cmd开无线服务器,使用cmd命令开启wifi
还没到月结手机流量就用光了?想与朋友共享网络,一起上网冲浪?相信很多人都会选择在笔记本上创建wifi热点与人分享,但是在使用第三方软件创建wifi时,会经常出现掉线的情况.下面是学习啦小编跟大家分享的 ...
- linux getty命令 开启 初始化 设置 终端 简介
目录 简介 当作为 getty 命令调用时 参数 安全性 文件 简介 功能说明:是Unix类操作系统启动时必须的三个步骤之一,用来开启终端,进行终端的初始化,设置终端. 语法:getty [-h][- ...
- linux三个命令模式切换,ubuntu16.04命令行模式和图形界面互相切换的两种解决办法,...
ubuntu16.04命令行模式和图形界面互相切换的两种解决办法, 在ubuntu中,我们可以有两种工作模式,一种是纯字符的命令行模式,这种界面没有那么好操作,而且对命令要求比较熟悉,比较适合专业人士 ...
- Linux 运行vcs仿真命令,VCS使用以及命令行调试
最近在学习VCS,现将VCS的一些使用心得记录下来. VCS是synopsys的仿真verilog的仿真器.基于linux系统.有命令行模式和图形化模式.图形化模式是用的dve. 以串口verilog ...
最新文章
- Linux15-SELinux
- [EffectiveC++]item17:以独立语句将newed对象置入智能指针
- linux内核打开prntk,操作系统实验一向Linux内核增加一个系统调用.docx
- ASP.NET Core 中间件之压缩、缓存
- [云炬创业管理笔记]第一章测试5
- 别看360完成私有化 仍有三因素阻碍中概股回归
- java 不存在就创建,java怎么实现判断文件是否存在,不存在就创建的方法
- Nuro发布自家自动驾驶安全报告,提出无人车12大安全要素 | 报告下载
- numpy—np.logspace
- 两个json对象合并为一个json对象
- 使用colab训练faster-rcnn
- ARINC 429总线学习资料?
- C语言理论小学案例试讲,C语言试讲演示文稿.ppt
- 从今往后,我也有了我自己的博客
- php 过滤字符 b,php过滤所有中英文标点符号
- iVMS-4200 Vs区别_45466足球推荐分析 法甲 21:00 安格斯 VS 梅斯
- 支付宝和微信支付合作伙伴RiverPay加速全球化战略布局
- 知识共享协议促进微积分的大发展
- 华为设备Voice VLAN配置命令
- 数据清洗的一般方法和步骤
热门文章
- yacc 简易计算机规则,YACC 使用说明——计算器实例.pdf
- 最火的C语言编程软件,适合编写C语言代码的编程软件有哪些
- 柯马机器人示教器编程_柯马机器人示教器C5G-TP5WC CR17910085全新原装进口现货销售...
- Linux Keepalived 高可用虚拟IP安装与配置
- java并发包aqu_Java并发包之SynchronousQueue
- CANoe+Carmaker联合仿真测试
- c语言编程 进制转换,c语言中的进制转换
- java me教程_Java ME基础教程
- 89c51交通灯汇编语言程序,汇编语言的交通灯程序
- java编程输入学生成绩 判断最高分_从键盘输入本次Java考试五位学生的成绩,求考试成绩最高分_学小易找答案...