婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Yii2 queue的隊(duì)列使用詳解

Yii2 queue的隊(duì)列使用詳解

熱門標(biāo)簽:仁和怎么申請(qǐng)400開(kāi)頭的電話 廣東地市地圖標(biāo)注 高德地圖標(biāo)注家 外呼系統(tǒng)撥打暫時(shí)無(wú)法接通 長(zhǎng)春人工外呼系統(tǒng)服務(wù)商 江西手機(jī)自動(dòng)外呼防封系統(tǒng)是什么 怎么向銷售公司推銷外呼系統(tǒng) 哪里辦理400電話 廣州防封卡外呼系統(tǒng)多少錢一個(gè)月

少?gòu)U話主要看文檔

官方文檔

yii2-queue 的使用

1.安裝

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

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

redis作為驅(qū)動(dòng)

return [
  'bootstrap' => [
    'queue', // 把這個(gè)組件注冊(cè)到控制臺(tái)
  ],
  'components' => [
    'redis' => [
      'class' => \yii\redis\Connection::class,
      // ...
    ],
    'queue' => [
      'class' => \yii\queue\redis\Queue::class,
      'as log' => \yii\queue\LogBehavior::class,//錯(cuò)誤日志 默認(rèn)為 console/runtime/logs/app.log
      'redis' => 'redis', // 連接組件或它的配置
      'channel' => 'queue', // Queue channel key
    ],
  ],
];

File 作為驅(qū)動(dòng)

return [
  'bootstrap' => [
    'queue', // 把這個(gè)組件注冊(cè)到控制臺(tái)
  ],
  'components' => [
    'queue' => [
      'class' => \yii\queue\file\Queue::class,
      'as log' => \yii\queue\LogBehavior::class,//錯(cuò)誤日志 默認(rèn)為 console/runtime/logs/app.log
      'path' => '@runtime/queue',
    ],
  ],
];

3.新建 frontend/components/DownloadJob

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.控制臺(tái)

控制臺(tái)用于監(jiān)聽(tīng)和處理隊(duì)列任務(wù)。

cmd 下 監(jiān)聽(tīng)隊(duì)列

yii queue/listen

5.添加到隊(duì)列

將任務(wù)添加到隊(duì)列:

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

將任務(wù)推送到隊(duì)列中延時(shí)5分鐘運(yùn)行:

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

6.測(cè)試

執(zhí)行 5 中的程序,控制臺(tái)監(jiān)聽(tīng)到,便會(huì)后臺(tái)自動(dòng) 下載http://example.com/image.jpg到本地為/tmp/image.jpg

啟動(dòng)worker

可以使用Supervisor或Systemd 來(lái)啟動(dòng)多進(jìn)程worker,也可以使用 Cron,我們這里主要說(shuō)一下Supervisor

centos7 supervisor的使用

1.安裝supervisor

yum update
yum install epel-release
yum install -y supervisor
#開(kāi)機(jī)啟動(dòng)
systemctl enable supervisord
#啟動(dòng)
systemctl start supervisord

2.supervisor 命令

supervisorctl status 查看進(jìn)程狀態(tài)   
supervisorctl reload 重啟supervisord 
supervisorctl start|stop|restart 啟動(dòng)關(guān)閉重啟進(jìn)程 

3.添加配置文件

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

注:文件名是.ini結(jié)尾

下面就是個(gè)例子:

[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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Yii2 隊(duì)列 shmilyzxt/yii2-queue 簡(jiǎn)單概述

標(biāo)簽:文山 黔東 濮陽(yáng) 梅河口 廈門 海北 惠州 湘西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Yii2 queue的隊(duì)列使用詳解》,本文關(guān)鍵詞  Yii2,queue,的,隊(duì)列,使用,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Yii2 queue的隊(duì)列使用詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Yii2 queue的隊(duì)列使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 静安区| 慈利县| 监利县| 历史| 绥芬河市| 定陶县| 桐柏县| 彭山县| 佛学| 博白县| 丰县| 东安县| 明光市| 红安县| 浦县| 逊克县| 山丹县| 汽车| 象山县| 黄大仙区| 巨野县| 荔波县| 克东县| 封丘县| 开鲁县| 平山县| 乌鲁木齐市| 都江堰市| 舞钢市| 梅州市| 澎湖县| 益阳市| 十堰市| 兴文县| 宜昌市| 通许县| 时尚| 溆浦县| 施甸县| 吉水县| 太保市|