摘要:其實類似于如下例子,遍歷每個數字,每個作為一組這里是個基本思想就是遍歷的時候計數,取??梢灾朗欠駶M足個,每個一發送。代碼如下分批發送省略上下文。
讀取一個 txt 文本文件,里面是一行一個 userid,需要給這些用戶發送文件(做什么不重要),發送文件接口支持一次最多發 10 個用戶,所以需要分批發送,每 10 個 userid 作為一批。
這種場景很常見,尤其是一次處理量太大了需要分批的情況。其實類似于如下例子,遍歷每個數字,每 5 個作為一組(這里是 10 個):
1 2 3 4 5 | 6 7 8 9 10 | 11 12 13 14 15 | 16 17 18
基本思想就是:遍歷的時候計數,取模可以知道是否滿足 10 個,每 10 個一發送。但是要注意最后如果存在剩余不足 10 個的情況不能漏了。代碼如下:
$uidFile = storage_path("app/public") . DIRECTORY_SEPARATOR . $task["uid_file"]; $count = 0; $max = 10; //分批發送 foreach (file($uidFile) as $line) { $userID = intval($line); if ($userID <= 0) { continue; } $userIDs[] = $userID; $count++; if ($count % $max == 0) { $this->sendMail($userIDs, $files, (string)$task["note"], (int)$task["reward"], $task); $userIDs = []; } } if ($userIDs) { $this->sendMail($userIDs, $files, (string)$task["note"], (int)$task["reward"], $task); }
省略上下文。
(隨手記錄一下代碼片段,以備日后參考,原文地址:https://blog.tanteng.me/2017/...)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26030.html
摘要:結束語在這里,我們雖然僅僅涉及了一些高階函數應用的皮毛,但這兩個技巧,實是項目開發當中克敵制勝,提高性能的實戰利器。 通過函數節流與函數分時提升應用性能 在例如表單自動補全,數據埋點,文章內容自動保存,視口監聽,拖拽,列表渲染等高頻操作時,如果同時有其它UI行為占據線程,瀏覽器端時常會出現卡頓現象,服務器端也面臨著較大壓力。這時,函數節流,與函數分時將成為我們的一大輔助。 一、函數...
摘要:本書的地址篇收集了一些常見的基礎進階面試題,基礎的面試題不再作答。如何實現持久化持久化,將在內存中的的狀態保存到硬盤中,相當于備份數據庫狀態。相當于備份數據庫接收到的命令,所有被寫入的命令都是以的協議格式來保存的。 本書的 GitHub 地址:https://github.com/todayqq/PH... PHP 篇收集了一些常見的基礎、進階面試題,基礎的面試題不再作答。 基礎篇 ...
摘要:遍歷完成后返回一個新的數組你可以同時處理多個數組你好嗎原罪你好嗎原罪是的,遍歷的次數以最長的數組為準。假如你處理的是二維數組,處理方式也是萬變不離其宗的。 在PHP的日常操作中,數組是最常出現的結構,而我們幾乎每天都在處理數組相關的內容。那么問題來了,你一般怎么遍歷并處理數組。 1、foreach 很熟悉吧,是不是你的最愛? $arr = [a, b, c]; foreach ($a...
摘要:如果運算持續占用主線程,頁面就沒法得到及時的更新。三解題思路解決主線程長時間被運算占用這一問題的基本思路,是將運算切割為多個步驟,分批完成。這顆新樹每生成一個新的節點,都會將控制權交回給主線程,去檢查有沒有優先級更高的任務需要執行。 歡迎關注我的公眾號睿Talk,獲取我最新的文章:showImg(https://segmentfault.com/img/bVbmYjo); 一、前言 在...
摘要:要不要顯式關閉查詢數據實現一實現二實現二更方便簡潔但是沒有顯式關閉有沒問題呢一些結論如果已被遍歷完會自動關閉無需顯式關閉所以實現二沒有問題如果只是遍歷了部分數據需要顯式關閉在遍歷過程中同時處理其他業務邏輯需要在中關閉避免中間報了異常沒有迭代 cursor要不要顯式關閉 Mongo查詢數據實現一 MongoCursor cursor = collection.find().limit(l...
閱讀 2902·2021-11-23 09:51
閱讀 1547·2021-11-15 11:36
閱讀 3006·2021-10-13 09:40
閱讀 1864·2021-09-28 09:35
閱讀 13040·2021-09-22 15:00
閱讀 1367·2019-08-29 13:56
閱讀 2924·2019-08-29 13:04
閱讀 2699·2019-08-28 18:06