W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
要使用 redis
隊(duì)列驅(qū)動(dòng)程序,需要在 config/database.php
配置文件中配置一個(gè) redis 數(shù)據(jù)庫連接。
Redis 集群
如果你的 Redis
隊(duì)列連接使用一個(gè) Redis
集群,那么你的隊(duì)列名稱就必須包含一個(gè) key hash tag。這是為了確保一個(gè)給定隊(duì)列的所有 Redis
鍵都被放在同一個(gè)哈希插槽:
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => '{default}',
'retry_after' => 90,
],
阻塞
在使用 Redis 隊(duì)列時(shí),您可以使用 block_for
配置選項(xiàng)來指定在遍歷 worker 循環(huán)和重新輪詢 Redis 數(shù)據(jù)庫之前,驅(qū)動(dòng)程序需要等待多長時(shí)間才能使任務(wù)變得可用。
根據(jù)您的隊(duì)列負(fù)載調(diào)整此值要比連續(xù)輪詢 Redis 數(shù)據(jù)庫中的新任務(wù)更加有效。例如,您可以將值設(shè)置為 5
,以指示驅(qū)動(dòng)程序在等待任務(wù)變得可用時(shí)應(yīng)該阻塞 5 秒:
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => 'default',
'retry_after' => 90,
'block_for' => 5,
],
注意:將
block_for
設(shè)置為0
將導(dǎo)致隊(duì)列workers
一直阻塞,直到某一個(gè)任務(wù)變得可用。這還能防止在下一個(gè)任務(wù)被處理之前處理諸如SIGTERM
之類的信號(hào)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: