PHP用redis實現多進程隊列

簡單的流程以下:php

1, 添加隊列信息git

2, 隊列信息儲存在redis裏面,我設置的是 10庫爲隊列動做信息,9庫爲隊列詳細的信息github

3, 服務端守護進程不斷接收隊列,再處理隊列,目前代碼的邏輯是,先循環接收10庫的隊列動做信息,再分段多進程處理9庫的隊列詳細信息redis


代碼調用範例:spa

1, 添加隊列(好比添加發送郵件):隊列

$q->add_queue('send_mail', $i, ‘hello world');
進程


2, 服務端處理隊列邏輯,先讀取隊列動做信息,再多進程處理,目前的版本是不能同時處理多個隊列動做信息,只能多進程處理完一條隊列動做信息裏面的每條隊列信息以後,再處理另一條隊列動做信息。(服務端的版本有單進程,多進程兩個版本)ci



感謝Signfork.class類的做者,這裏用了這個多進程的類get

github地址: https://github.com/r00tjimmy/queue-php-redisit

相關文章
相關標籤/搜索