标签信息
  获得0次关注
  发布7篇文章

王老迪 2018-04-04 16:45:31

1:   laravel 的blade模板缓存

    解决办法: php artisan view:clear


2: env等配置文件修改无效

    解决办法:php artisan config:clear


王老迪 2019-10-08 23:02:53

开发环境 npm run dev

生产环境 cnpm run production (js代码会被压缩)

王老迪 2019-10-27 15:02:21

队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应的时间


这个星期遇到一个汇总的微信模板消息的推送这样一个问题。

相信很多人都遇到过这个问题。

简单一点就是循环跑,但是循环跑会超时什么的,当然也可以解决超时的问题。

但是循环跑实在是有点蠢,在php中,解决这类问题,队列的方式在合适不过了。


接下来,就来说明一下队列的基本使用。


我用的是laravel的5.8版本,每个版本在配置上或多或少可能会有些出入,基本相差不大。


首先,看你想使用的队列的存储方式,laravel提供了4种的样子,必要常用的就是redis和mysql了。

类型的优势和好处就不介绍了,自行查看文档即可。飞雷神


  1. 先找到laravel的队列配置 (config/queue.php)

 //默认的配置项
'default' => env('QUEUE_CONNECTION', 'sync'),

/*
|--------------------------------------------------------------------------
| 默认队列驱动
|
*/

'connections' => [

'sync' => [
],

'database' => [
],

'beanstalkd' => [
],

'sqs' => [
],

'redis' => [
],

],

/*
|--------------------------------------------------------------------------
| 失败的队列任务
*/

'failed' => [
'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs',
]

    2.去env中配置属性,主要是 QUEUE_CONNECTION,某些版本里面是 QUEUE_DRIVER ,这个地方弄对,后面的也就没啥问题了。

    

    3.队列任务的是创建以及使用

    队列的创建很简单,官方提供的方式是执行

    php artisan make:job 队列名

    逻辑编写就不做说明了,文档里很清楚。


    调用和启用的方式这里说明一下

    调用的方式如下

\App\Jobs\SendWxSummaryMassage::dispatch($send_arr);

    相信一般也都是在\App\Jobs下.

    启用的话需要有指定的命令监听

    php artisan queue:listen


   检查redis队列里面的数据和清除数据

   1.进入redis中(一般操作命令行比较好

    当使用的是yum安装的redis的时候  直接执行命令 redis-cli 

    如果是别的方式安装的,进入到指定的目录下执行该命令即可。

   2.登入

    执行命令-》 auth password

   3.查找所有的key 

     执行命令-》 keys * (更多命令查看 飞雷神)

    4.清除

     执行命令-》flushall (这是清除所有) 

    

     完。