程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> PHP 隊列配置詳解

PHP 隊列配置詳解

編輯:PHP基礎知識
 
  • Redis blpop 阻塞時間, 單位秒。主要Redis超時時間配置,這個阻塞時間 不能大於超時時間

    ‘INTERVAL’ => 10,

  • 子進程最大執行任務次數, 執行MAX_TASK次後自動退出,

    ‘MAX_TASK’ => 5000,

  • 開啟的子進程數量,根據具體業務情況而定,我們項目中是分64個表,所有對應64個隊列處理程序,實現一一對應結構

    ‘QUEUE_COUNT’ => 64,

  • 運行master隊列的命令,PHP使用 shell_exec 執行

    ‘START_COMMAND’=> ‘/usr/bin/php ‘.Yii::app()->basePath.’/yiic.php queueV2 master’,

  • 隊列日志記錄目錄

    ‘LOG_DIR’ => ‘/data/logs/queue/admin.qr.cntv.cn’,

  • worker處理類,放置於 queue/worker 下, 從CWorker繼承。項目中加入隊列時,編寫自己的worker處理類,並在這裡配置 類名即可。

    ‘WORKER’=> ‘CWorkerForYii’,

  • 存儲類,放置於 queue/store 下, 從CStore繼承

    ‘STORE’=> ‘CFileStore’,

  • 例如給文件緩存等使用

    ‘STORE_DIR’=> ‘/tmp/queue’,

  • 隊列信息存儲的前綴,以便項目之間作區分等

    ‘STORE_PREEFIX’=> ‘qr’,

  • 子進程結束狀態標識值,對比 pcntl_waitpid 的返回值, 若和該配置值相等,則表示該子進程已經退出。主進程需要重新開啟對應子進程

    ‘FINISH_STATE’=> -1,

  • master進程ID存放的鍵,使用 ‘STORE’ 配置的類進行存放

    ‘STORE_MASTER_PID_KEY’=> ‘master_pid’,

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved