国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - Yii2 queue的隊列使用詳解

Yii2 queue的隊列使用詳解

2021-08-09 16:13WebMonster PHP教程

這篇文章主要介紹了Yii2 queue的隊列使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

少廢話主要看文檔

官方文檔

yii2-queue 的使用

1.安裝

?
1
composer require --prefer-dist yiisoft/yii2-queue

2.配置,在 common/config/main.php 中配置

redis作為驅動

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
return [
  'bootstrap' => [
    'queue', // 把這個組件注冊到控制臺
  ],
  'components' => [
    'redis' => [
      'class' => \yii\redis\Connection::class,
      // ...
    ],
    'queue' => [
      'class' => \yii\queue\redis\Queue::class,
      'as log' => \yii\queue\LogBehavior::class,//錯誤日志 默認為 console/runtime/logs/app.log
      'redis' => 'redis', // 連接組件或它的配置
      'channel' => 'queue', // Queue channel key
    ],
  ],
];

File 作為驅動

?
1
2
3
4
5
6
7
8
9
10
11
12
return [
  'bootstrap' => [
    'queue', // 把這個組件注冊到控制臺
  ],
  'components' => [
    'queue' => [
      'class' => \yii\queue\file\Queue::class,
      'as log' => \yii\queue\LogBehavior::class,//錯誤日志 默認為 console/runtime/logs/app.log
      'path' => '@runtime/queue',
    ],
  ],
];

3.新建 frontend/components/DownloadJob

?
1
2
3
4
5
6
7
8
9
10
class DownloadJob extends BaseObject implements \yii\queue\JobInterface
{
  public $url;
  public $file;
  
  public function execute($queue)
  {
    file_put_contents($this->file, file_get_contents($this->url));
  }
}

4.控制臺

控制臺用于監聽和處理隊列任務。

cmd 下 監聽隊列

?
1
yii queue/listen

5.添加到隊列

將任務添加到隊列:

?
1
2
3
4
Yii::$app->queue->push(new frontend\components\DownloadJob([
  'url' => 'http://example.com/image.jpg',
  'file' => '/tmp/image.jpg',
]));

將任務推送到隊列中延時5分鐘運行:

?
1
2
3
4
Yii::$app->queue->delay(5 * 60)->push(new frontend\components\DownloadJob([
  'url' => 'http://example.com/image.jpg',
  'file' => '/tmp/image.jpg',
]));

6.測試

執行 5 中的程序,控制臺監聽到,便會后臺自動 下載http://example.com/image.jpg到本地為/tmp/image.jpg

啟動worker

可以使用Supervisor或Systemd 來啟動多進程worker,也可以使用 Cron,我們這里主要說一下Supervisor

centos7 supervisor的使用

1.安裝supervisor

?
1
2
3
4
5
6
7
yum update
yum install epel-release
yum install -y supervisor
#開機啟動
systemctl enable supervisord
#啟動
systemctl start supervisord

2.supervisor 命令

?
1
2
3
supervisorctl status 查看進程狀態   
supervisorctl reload 重啟supervisord
supervisorctl start|stop|restart 啟動關閉重啟進程

3.添加配置文件

Supervisor 配置文件通常在 /etc/supervisord.d 目錄下. 你可以創建一些配置文件在這里.

注:文件名是.ini結尾

下面就是個例子:

?
1
2
3
4
5
6
7
8
9
[program:yii-queue-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php /var/www/my_project/yii queue/listen --verbose=1 --color=0
autostart=true
autorestart=true
user=www-data
numprocs=4
redirect_stderr=true
stdout_logfile=/var/www/my_project/log/yii-queue-worker.log

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://segmentfault.com/a/1190000019805030

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美午夜一区二区三区免费大片 | 国产一级一级国产 | 日日撸 | 亚洲精品在线成人 | 日韩精品无码一区二区三区 | 亚洲视频欧美视频 | 自拍偷拍色 | 高清日韩av| 日韩欧美久久 | 电影91久久久 | 欧美a在线看 | 久久久午夜爽爽一区二区三区三州 | 欧美视频第一页 | 日韩av网页 | 免费在线看a | 一本黄色片 | 日韩在线电影一区 | 日韩在线视频中文字幕 | 一区二区三区免费观看视频 | 正在播放国产精品 | av免费网站在线观看 | 久久国内免费视频 | 久久91| 在线一区二区三区 | 视频三区 | 日韩av免费看 | 一区二区三区精品 | 精品麻豆剧传媒av国产九九九 | 性刺激久久久久久久久九色 | 国产精品视频一二三区 | 成人免费毛片aaaaaa片 | 亚洲精品在线视频 | 思热99re视热频这里只精品 | 天天久久| 欧美视频在线播放 | 成a人片在线观看 | 国产亚洲精品久久久久久久久 | 91偷拍精品一区二区三区 | 欧美日韩一区二区三区不卡视频 | 综州合另类 | 国产精品尤物在线观看 |