鍍金池/ 問答/PHP  網(wǎng)絡(luò)安全/ php不同時區(qū)怎么定時間點發(fā)送郵件

php不同時區(qū)怎么定時間點發(fā)送郵件

場景:
假設(shè)客戶涉及十個國家的不同時區(qū), 比如美國客戶設(shè)定的時區(qū)又不一樣, 現(xiàn)在需要在客戶所在時區(qū)的0點 發(fā)送一份報告, 并且報告不能提前準備好, 數(shù)據(jù)要實時計算, 每份計算時間大概15 分鐘。

問題:

  1. 怎么實現(xiàn)在每個時區(qū)的 0 點發(fā)送報告呢(客戶時區(qū)可能有增減,不固定)?
  2. 怎么一個定時器調(diào)用多進程同時發(fā), 排隊發(fā)的話, 后面的都不知道排到啥時候了。
回答
編輯回答
拼未來
  1. 你可以把其他時區(qū)換算成當前時區(qū)對應(yīng)的時間,在換算后的時間點發(fā)送
  2. 采用排隊發(fā)送,可以設(shè)置多個消費者來消費,執(zhí)行時間不會太長吧
  3. 采用多進程的話,swoole是個不錯的選擇
2017年8月16日 11:00
編輯回答
眼雜

嗯,是不是可以用 swoole 來用協(xié)程呢。

或者你可以用 php 的 pthread,來定義一個進程來干這件事情,然后在進程里面 fork 多個子進程來干這件事。

或者換一種解決思路,實際上總共就那么幾個時區(qū),是不是可以按照時區(qū)來分組搞這個東西呢。

2017年7月23日 21:09