免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

命令行任務(wù)完成提醒器:輕量級(jí)監(jiān)聽與通知方案

命令行任務(wù)完成提醒器:輕量級(jí)監(jiān)聽與通知方案 1. 從“盯著終端發(fā)呆”到“讓終端喊我”一個(gè)提醒器的誕生背景如果你跟我一樣日常大量時(shí)間泡在命令行里用各種代碼輔助工具跑任務(wù)那你一定經(jīng)歷過這種場景敲下一段指令工具開始吭哧吭哧干活你盯著屏幕等結(jié)果等了半分鐘沒動(dòng)靜于是順手切到瀏覽器刷了兩條資訊再切回來發(fā)現(xiàn)任務(wù)早就跑完了而你的注意力已經(jīng)碎了一地。更糟糕的是有些任務(wù)跑完不跑完你根本不知道只能反復(fù)切窗口去確認(rèn)這種“人肉輪詢”的方式效率低得令人發(fā)指。這個(gè)項(xiàng)目的出發(fā)點(diǎn)特別樸素讓工具在任務(wù)完成的那一刻主動(dòng)通知我而不是我像個(gè)哨兵一樣守著它。標(biāo)題里提到的“完成提醒器”本質(zhì)上就是一個(gè)輕量級(jí)的任務(wù)狀態(tài)監(jiān)聽與通知轉(zhuǎn)發(fā)機(jī)制。它要解決的核心問題有三個(gè)第一任務(wù)什么時(shí)候結(jié)束的我得第一時(shí)間知道第二通知方式要足夠顯眼不能是那種一閃而過、錯(cuò)過就沒了的小提示第三整個(gè)方案要足夠輕不能為了一個(gè)提醒功能引入一堆重型依賴把原本清爽的工作流搞得臃腫不堪。適合誰來參考這篇內(nèi)容如果你日常使用命令行工具跑代碼生成、批量處理、自動(dòng)化腳本并且希望在這些任務(wù)完成時(shí)獲得一個(gè)可靠的、可定制的提醒那這篇分享就是寫給你的。哪怕你只是偶爾跑一個(gè)耗時(shí)較長的命令這套思路也能幫你省下不少無謂的等待時(shí)間。我接下來會(huì)從設(shè)計(jì)思路、技術(shù)選型、具體實(shí)現(xiàn)、踩坑記錄幾個(gè)維度把這個(gè)提醒器拆開揉碎講清楚你可以直接照著復(fù)現(xiàn)也可以根據(jù)自己的習(xí)慣做二次改造。2. 提醒器的核心設(shè)計(jì)邏輯為什么不用現(xiàn)成的方案2.1 現(xiàn)成方案為什么不夠用市面上其實(shí)不缺通知工具操作系統(tǒng)自帶的通知中心、各種命令行下的notify-send、終端復(fù)用工具自帶的狀態(tài)欄都能在一定程度上告訴你“任務(wù)結(jié)束了”。但實(shí)際用下來它們各有各的局限。系統(tǒng)通知中心的問題在于它太容易被忽略——尤其是當(dāng)你全屏開著編輯器或者瀏覽器的時(shí)候一個(gè)角落里的橫幅彈出來幾秒鐘就消失了等你注意到的時(shí)候已經(jīng)錯(cuò)過了。終端狀態(tài)欄倒是常駐但它要求你始終把終端窗口放在可見范圍內(nèi)這又回到了“必須盯著”的老問題上。還有一個(gè)更現(xiàn)實(shí)的痛點(diǎn)很多代碼輔助工具在執(zhí)行任務(wù)時(shí)輸出是流式的你很難通過簡單的“進(jìn)程是否退出”來判斷任務(wù)是否真正完成。有些工具會(huì)在結(jié)束時(shí)輸出特定的結(jié)束標(biāo)記有些則只是安靜地停止輸出進(jìn)程卻還掛著。如果只是粗暴地監(jiān)聽進(jìn)程退出要么誤報(bào)要么漏報(bào)。所以一個(gè)真正好用的提醒器必須能夠理解任務(wù)的生命周期而不是簡單地看進(jìn)程死活。2.2 我的設(shè)計(jì)原則輕量、可組合、不侵入基于上面的分析我給自己定了三條設(shè)計(jì)原則。第一是輕量整個(gè)提醒器最好就是一個(gè)腳本或者一個(gè)小工具不依賴復(fù)雜的運(yùn)行時(shí)環(huán)境啟動(dòng)開銷要小到可以忽略不計(jì)。第二是可組合提醒的觸發(fā)條件、通知的方式、通知的內(nèi)容都應(yīng)該是可以自由拼接的模塊而不是寫死的一套邏輯。第三是不侵入它不應(yīng)該要求我改變原有的工具使用習(xí)慣而是以“包裹”或者“旁路監(jiān)聽”的方式工作原來的命令該怎么敲還怎么敲。這三條原則直接決定了后續(xù)的技術(shù)選型。輕量意味著我傾向于用 Shell 腳本或者單一二進(jìn)制的小工具來實(shí)現(xiàn)而不是搞一個(gè)常駐的后臺(tái)服務(wù)。可組合意味著我要把“檢測任務(wù)完成”和“發(fā)送通知”這兩件事解耦中間通過一個(gè)標(biāo)準(zhǔn)化的接口傳遞事件。不侵入則意味著我需要在命令執(zhí)行的外層做文章比如用一個(gè)包裝腳本來接管命令的執(zhí)行和結(jié)束。2.3 任務(wù)完成的判定比想象中更微妙這里要特別說一下“任務(wù)完成”的判定邏輯因?yàn)檫@是整個(gè)提醒器最核心也最容易出問題的地方。最直覺的做法是監(jiān)聽子進(jìn)程的退出碼進(jìn)程退出且退出碼為 0 就認(rèn)為成功非 0 就認(rèn)為失敗。但實(shí)際場景遠(yuǎn)比這復(fù)雜。有些工具在任務(wù)完成后會(huì)進(jìn)入一個(gè)交互式的等待狀態(tài)進(jìn)程并沒有退出但任務(wù)其實(shí)已經(jīng)完成了。還有些工具會(huì)把實(shí)際的工作委托給一個(gè)后臺(tái)進(jìn)程前臺(tái)進(jìn)程很快就返回了但后臺(tái)任務(wù)還在跑。我的處理方式是采用“多信號(hào)融合”的判定策略。主信號(hào)是進(jìn)程退出這是最可靠的。輔助信號(hào)包括輸出流中是否出現(xiàn)了預(yù)定義的結(jié)束標(biāo)記、輸出是否在超過一定時(shí)間后不再增長、以及進(jìn)程的 CPU 占用是否降到了接近零。這幾個(gè)信號(hào)通過一個(gè)簡單的加權(quán)邏輯組合起來只有當(dāng)主信號(hào)或者足夠強(qiáng)的輔助信號(hào)出現(xiàn)時(shí)才判定任務(wù)完成。這樣既避免了誤報(bào)也減少了漏報(bào)。當(dāng)然這套邏輯需要針對不同的工具做微調(diào)后面我會(huì)講怎么調(diào)。3. 技術(shù)選型與實(shí)現(xiàn)路徑從 Shell 包裝到跨平臺(tái)通知3.1 為什么選擇 Shell 包裝腳本作為入口在實(shí)現(xiàn)路徑上我最終選擇了用一個(gè) Shell 包裝腳本來做入口。原因很簡單Shell 是命令行的通用語言任何工具都可以被一個(gè) Shell 腳本包裹起來執(zhí)行不需要工具本身提供任何插件機(jī)制或者 API。包裝腳本的職責(zé)很清晰接管用戶輸入的命令在子進(jìn)程中執(zhí)行它同時(shí)監(jiān)聽子進(jìn)程的狀態(tài)和輸出在判定任務(wù)完成后觸發(fā)通知。這個(gè)包裝腳本的核心結(jié)構(gòu)大概是這樣的首先解析用戶傳入的命令和參數(shù)然后啟動(dòng)一個(gè)子進(jìn)程來執(zhí)行這個(gè)命令同時(shí)把子進(jìn)程的標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤重定向到一個(gè)臨時(shí)的管道或者文件里主進(jìn)程則循環(huán)讀取這些輸出并做分析。當(dāng)子進(jìn)程退出或者滿足其他完成條件時(shí)包裝腳本調(diào)用通知模塊發(fā)送提醒。整個(gè)過程中用戶看到的輸出和直接執(zhí)行命令幾乎沒有區(qū)別體驗(yàn)是無感的。#!/usr/bin/env bash # 簡化的包裝腳本骨架 CMD$ TMP_OUT$(mktemp) # 在后臺(tái)執(zhí)行命令輸出同時(shí)寫入臨時(shí)文件和終端 eval $CMD 21 | tee $TMP_OUT CMD_PID$! # 等待命令結(jié)束 wait $CMD_PID EXIT_CODE$? # 觸發(fā)通知 notify_done $CMD $EXIT_CODE $TMP_OUT rm -f $TMP_OUT上面這段代碼只是一個(gè)最簡化的骨架實(shí)際實(shí)現(xiàn)中還需要處理信號(hào)轉(zhuǎn)發(fā)、超時(shí)控制、輸出分析等細(xì)節(jié)。但核心思路就是這樣包裝、執(zhí)行、監(jiān)聽、通知。3.2 通知通道的選擇終端內(nèi)提醒與系統(tǒng)級(jí)提醒的取舍通知通道的選擇上我做了分層設(shè)計(jì)。第一層是終端內(nèi)提醒這是最輕量的直接在終端里輸出一段醒目的文字配合終端標(biāo)題的變化和響鈴字符。終端標(biāo)題的變化特別有用因?yàn)楹芏嘟K端模擬器會(huì)在標(biāo)簽頁上顯示當(dāng)前標(biāo)題任務(wù)完成后把標(biāo)題改成“任務(wù)完成”你一眼就能從一堆標(biāo)簽頁里看到哪個(gè)完成了。響鈴字符則是最后的保險(xiǎn)即使你沒看屏幕聽到聲音也會(huì)下意識(shí)地看一眼。第二層是系統(tǒng)級(jí)提醒這需要調(diào)用操作系統(tǒng)的通知接口。在 Linux 上可以用notify-send在 macOS 上可以用osascript調(diào)用通知中心在 Windows 上可以用 PowerShell 的 BurntToast 模塊或者簡單的消息框。這一層的優(yōu)勢是提醒更顯眼即使終端被最小化了也能看到。但它的缺點(diǎn)是依賴具體的操作系統(tǒng)需要做平臺(tái)適配。第三層是可選的擴(kuò)展通道比如發(fā)送到某個(gè)消息隊(duì)列、寫入日志文件、或者觸發(fā)一個(gè)自定義的鉤子腳本。這一層是為了滿足更復(fù)雜的自動(dòng)化需求比如任務(wù)完成后自動(dòng)觸發(fā)下一個(gè)流程。我把它設(shè)計(jì)成可插拔的默認(rèn)不啟用需要的時(shí)候在配置里打開就行。通知層級(jí)實(shí)現(xiàn)方式優(yōu)點(diǎn)缺點(diǎn)終端內(nèi)提醒標(biāo)題修改、響鈴、彩色輸出零依賴、即時(shí)終端不可見時(shí)無效系統(tǒng)級(jí)提醒系統(tǒng)通知接口顯眼、跨窗口需平臺(tái)適配擴(kuò)展通道鉤子腳本、消息隊(duì)列靈活、可自動(dòng)化配置復(fù)雜3.3 輸出分析的實(shí)現(xiàn)細(xì)節(jié)如何識(shí)別“任務(wù)真的結(jié)束了”輸出分析這塊是整個(gè)提醒器里技術(shù)含量最高的部分。我的做法是維護(hù)一個(gè)滑動(dòng)窗口記錄最近一段時(shí)間內(nèi)的輸出行數(shù)和字節(jié)數(shù)。如果輸出在連續(xù) N 秒內(nèi)沒有增長并且進(jìn)程的 CPU 占用低于某個(gè)閾值就認(rèn)為任務(wù)可能已經(jīng)完成。這個(gè) N 和閾值需要根據(jù)具體工具的行為來調(diào)。比如有些工具在生成代碼時(shí)會(huì)有一段“思考”時(shí)間期間沒有任何輸出但任務(wù)并沒有結(jié)束這時(shí)候如果把 N 設(shè)得太小就會(huì)誤報(bào)。為了減少誤報(bào)我還加入了一個(gè)“結(jié)束標(biāo)記”機(jī)制。很多工具在任務(wù)真正完成時(shí)會(huì)輸出一些特定的字符串比如“Done”、“Completed”、“Finished”之類的。我允許用戶在配置里定義一組正則表達(dá)式當(dāng)輸出匹配到這些模式時(shí)就提高完成判定的置信度。這個(gè)機(jī)制不是必須的但配上之后準(zhǔn)確率會(huì)明顯提升。另外對于退出碼的處理也要小心有些工具即使任務(wù)成功也會(huì)返回非零退出碼所以退出碼只能作為一個(gè)參考信號(hào)不能作為唯一依據(jù)。4. 實(shí)戰(zhàn)部署把提醒器接入日常工具鏈4.1 安裝與基礎(chǔ)配置部署這個(gè)提醒器的第一步是把它放到一個(gè)方便調(diào)用的位置。我習(xí)慣在用戶目錄下建一個(gè)~/bin目錄把腳本放進(jìn)去然后確保這個(gè)目錄在PATH環(huán)境變量里。這樣在任何地方都能直接調(diào)用。腳本本身不需要編譯就是一個(gè)純文本文件給它加上可執(zhí)行權(quán)限就行。mkdir -p ~/bin cp task-notifier.sh ~/bin/task-notifier chmod x ~/bin/task-notifier # 確保 ~/bin 在 PATH 中 export PATH$HOME/bin:$PATH配置文件我放在了~/.config/task-notifier/config下采用簡單的鍵值對格式方便手動(dòng)編輯也方便腳本解析。配置項(xiàng)包括通知方式終端內(nèi)、系統(tǒng)級(jí)、兩者都開、靜默超時(shí)時(shí)間多少秒無輸出判定為可能完成、結(jié)束標(biāo)記正則、是否啟用響鈴、是否修改終端標(biāo)題等。這些配置都有合理的默認(rèn)值不配置也能直接用但調(diào)一下會(huì)更貼合自己的使用習(xí)慣。4.2 接入代碼輔助工具的幾種姿勢接入方式取決于你使用的具體工具。最通用的方式是用別名alias或者函數(shù)function來包裝原來的命令。比如你原來習(xí)慣敲codex run現(xiàn)在可以定義一個(gè)別名codex指向task-notifier codex這樣每次調(diào)用都會(huì)自動(dòng)經(jīng)過提醒器。這種方式的優(yōu)點(diǎn)是透明你不需要改變?nèi)魏尾僮髁?xí)慣。# 在 .bashrc 或 .zshrc 中添加 alias codextask-notifier codex alias claudetask-notifier claude另一種方式是在腳本或者 Makefile 里顯式調(diào)用提醒器。比如你有一個(gè)自動(dòng)化腳本里面調(diào)用了代碼輔助工具那就可以把調(diào)用命令改成task-notifier 原命令。這種方式更可控適合在 CI 或者批處理場景下使用。還有一種比較極端的做法是直接修改工具的啟動(dòng)腳本但我不推薦這么做因?yàn)楣ぞ呱?jí)后修改可能會(huì)丟失而且會(huì)影響所有使用場景不夠靈活。4.3 針對不同工具的完成判定調(diào)參不同的代碼輔助工具其輸出模式和任務(wù)生命周期差異很大所以完成判定的參數(shù)需要分別調(diào)。我拿兩個(gè)典型場景來說明。第一個(gè)場景是那種“一次性輸出”的工具你給它一個(gè)指令它思考幾秒后一次性吐出結(jié)果然后進(jìn)程退出。這種場景最簡單直接用進(jìn)程退出作為完成信號(hào)就行靜默超時(shí)設(shè)短一點(diǎn)也沒關(guān)系。第二個(gè)場景是“流式輸出”的工具它會(huì)一邊生成一邊輸出中間可能有停頓。這種場景下靜默超時(shí)就不能設(shè)得太短否則會(huì)把正常的思考停頓誤判為完成。我的經(jīng)驗(yàn)值是設(shè)到 15 到 30 秒具體看工具的響應(yīng)速度。同時(shí)如果工具在結(jié)束時(shí)會(huì)有明確的結(jié)束語一定要把那個(gè)結(jié)束語加到結(jié)束標(biāo)記正則里這樣判定會(huì)準(zhǔn)確得多。調(diào)參的過程其實(shí)就是觀察幾次實(shí)際運(yùn)行記錄下從“最后一次輸出”到“進(jìn)程退出”之間的時(shí)間間隔然后把這個(gè)間隔的 1.5 倍左右作為靜默超時(shí)值。提示調(diào)參時(shí)建議先把通知方式設(shè)為“僅終端內(nèi)提醒”這樣調(diào)試信息不會(huì)彈得到處都是等參數(shù)調(diào)穩(wěn)了再開啟系統(tǒng)級(jí)通知。5. 踩坑記錄那些讓我半夜爬起來改腳本的瞬間5.1 信號(hào)轉(zhuǎn)發(fā)沒做好導(dǎo)致 CtrlC 失效這是最早踩的一個(gè)坑而且影響很大。包裝腳本啟動(dòng)子進(jìn)程后如果用戶按了 CtrlC信號(hào)默認(rèn)是發(fā)給包裝腳本本身的子進(jìn)程收不到結(jié)果就是包裝腳本退出了但子進(jìn)程還在后臺(tái)跑變成了一個(gè)孤兒進(jìn)程。更糟糕的是有時(shí)候子進(jìn)程會(huì)繼續(xù)占用終端導(dǎo)致終端狀態(tài)混亂。修復(fù)方法是在包裝腳本里捕獲信號(hào)并轉(zhuǎn)發(fā)給子進(jìn)程。trap kill -INT $CMD_PID 2/dev/null INT trap kill -TERM $CMD_PID 2/dev/null TERM加上這兩行之后CtrlC 就能正常傳遞給子進(jìn)程了。但這里還有個(gè)細(xì)節(jié)如果子進(jìn)程有自己的子進(jìn)程樹光殺直接子進(jìn)程可能不夠需要用進(jìn)程組的方式來處理。我后來的做法是用setsid讓子進(jìn)程成為新會(huì)話的組長然后殺整個(gè)進(jìn)程組。這個(gè)改動(dòng)之后信號(hào)處理就穩(wěn)了。5.2 輸出重定向?qū)е碌木彌_問題第二個(gè)坑是輸出緩沖。為了讓包裝腳本能分析輸出我把子進(jìn)程的輸出重定向到了管道。但很多程序在檢測到輸出不是終端時(shí)會(huì)啟用全緩沖模式也就是攢夠一定量的數(shù)據(jù)才真正寫出來。這就導(dǎo)致包裝腳本看到的輸出是滯后的靜默超時(shí)的判定完全失準(zhǔn)。修復(fù)方法是給子進(jìn)程設(shè)置一個(gè)偽終端pty讓它以為自己是在終端里運(yùn)行這樣就會(huì)用行緩沖模式輸出是實(shí)時(shí)的。在 Shell 里實(shí)現(xiàn) pty 稍微麻煩一點(diǎn)可以用script命令來包一層或者用stdbuf來強(qiáng)制行緩沖。stdbuf更簡單但只對使用了標(biāo)準(zhǔn) C 庫緩沖的程序有效。對于更復(fù)雜的情況還是得上 pty。我最后的方案是優(yōu)先用stdbuf如果發(fā)現(xiàn)輸出還是滯后就切到script方案。這個(gè)坑讓我意識(shí)到輸出分析的前提是能拿到實(shí)時(shí)的輸出否則一切判定都是空中樓閣。5.3 系統(tǒng)通知在特定桌面環(huán)境下的兼容性系統(tǒng)級(jí)通知這塊Linux 下的notify-send看起來簡單但在不同的桌面環(huán)境下行為差異很大。有的桌面環(huán)境會(huì)正常彈出通知有的則會(huì)把通知丟進(jìn)一個(gè)不顯眼的消息中心還有的干脆不顯示。我測試了幾種常見的桌面環(huán)境發(fā)現(xiàn)通知的顯示效果和持久性都不一樣。最后的應(yīng)對策略是不依賴單一通知方式而是同時(shí)觸發(fā)終端內(nèi)提醒和系統(tǒng)通知并且把系統(tǒng)通知的失敗當(dāng)作非致命錯(cuò)誤處理不讓它影響主流程。另外通知的內(nèi)容也要注意。有些系統(tǒng)對通知標(biāo)題和正文的長度有限制太長了會(huì)被截?cái)?。我一開始把整個(gè)命令都塞進(jìn)通知標(biāo)題里結(jié)果在某個(gè)環(huán)境下只顯示了前幾個(gè)字符完全看不出是哪個(gè)任務(wù)完成了。后來改成標(biāo)題只放“任務(wù)完成”或者“任務(wù)失敗”正文里放命令的簡短摘要和執(zhí)行時(shí)長這樣既清晰又不會(huì)超長。5.4 長時(shí)間運(yùn)行任務(wù)的資源占用問題還有一個(gè)不太起眼但實(shí)際影響體驗(yàn)的問題包裝腳本本身在長時(shí)間運(yùn)行時(shí)的資源占用。因?yàn)橐掷m(xù)讀取輸出并做分析如果實(shí)現(xiàn)得不好CPU 占用會(huì)一直居高不下。我最初的實(shí)現(xiàn)是用一個(gè)忙等待循環(huán)去讀輸出結(jié)果跑一個(gè)幾小時(shí)的任務(wù)包裝腳本自己就吃掉了不少 CPU。后來改成了基于read的阻塞讀取沒有輸出時(shí)就阻塞在那里幾乎不占 CPU。這個(gè)改動(dòng)雖然簡單但對長時(shí)間任務(wù)的體驗(yàn)提升很明顯。6. 進(jìn)階玩法讓提醒器更懂你的工作流6.1 根據(jù)任務(wù)類型定制通知內(nèi)容基礎(chǔ)的提醒器只會(huì)告訴你“任務(wù)完成了”但你可以讓它更聰明一點(diǎn)。我的做法是在包裝命令的時(shí)候額外傳入一個(gè)任務(wù)標(biāo)簽比如task-notifier --label 生成文檔 -- codex run。這樣通知里就會(huì)帶上這個(gè)標(biāo)簽?zāi)阋谎劬椭朗悄膫€(gè)任務(wù)完成了。標(biāo)簽可以手動(dòng)指定也可以根據(jù)命令內(nèi)容自動(dòng)推斷。比如檢測到命令里包含test就標(biāo)記為“測試任務(wù)”包含build就標(biāo)記為“構(gòu)建任務(wù)”。這個(gè)功能實(shí)現(xiàn)起來很簡單就是在通知模塊里加一個(gè)標(biāo)簽字段但用起來體驗(yàn)提升很大。6.2 任務(wù)完成后的自動(dòng)后續(xù)動(dòng)作提醒器最有價(jià)值的擴(kuò)展方向是“任務(wù)完成后自動(dòng)做點(diǎn)什么”。比如任務(wù)成功后自動(dòng)打開生成的文件任務(wù)失敗后自動(dòng)把錯(cuò)誤日志收集到一個(gè)固定位置或者任務(wù)完成后自動(dòng)觸發(fā)下一個(gè)流程。這些都可以通過鉤子腳本來實(shí)現(xiàn)。我在配置里加了一個(gè)on_success和on_failure兩個(gè)鉤子分別指定任務(wù)成功和失敗時(shí)要執(zhí)行的命令。鉤子腳本會(huì)接收到任務(wù)命令、退出碼、輸出文件路徑等參數(shù)可以自由發(fā)揮。# 配置示例 on_success~/bin/hooks/open-result.sh on_failure~/bin/hooks/collect-error.sh這個(gè)機(jī)制讓提醒器從一個(gè)單純的“通知工具”變成了一個(gè)“工作流節(jié)點(diǎn)”你可以用它來串聯(lián)起更復(fù)雜的自動(dòng)化流程。比如跑完代碼生成后自動(dòng)格式化格式化完成后自動(dòng)跑測試測試通過后自動(dòng)提交整個(gè)鏈條都可以用鉤子串起來。6.3 多任務(wù)并發(fā)時(shí)的通知去重與聚合當(dāng)你同時(shí)跑多個(gè)任務(wù)時(shí)通知可能會(huì)變得很吵。我遇到過同時(shí)跑五個(gè)任務(wù)結(jié)果通知一個(gè)接一個(gè)彈出來反而造成了干擾。解決思路有兩個(gè)一是去重如果同一個(gè)任務(wù)在短時(shí)間內(nèi)重復(fù)完成只通知一次二是聚合把一段時(shí)間內(nèi)完成的任務(wù)合并成一條通知比如“3 個(gè)任務(wù)已完成1 個(gè)任務(wù)失敗”。聚合的時(shí)間窗口可以配置我一般設(shè)成 10 秒這樣既不會(huì)漏掉通知也不會(huì)被刷屏。實(shí)現(xiàn)聚合需要一個(gè)簡單的隊(duì)列和定時(shí)器。任務(wù)完成時(shí)把事件推入隊(duì)列然后啟動(dòng)一個(gè)定時(shí)器定時(shí)器到期后把隊(duì)列里的事件合并成一條通知發(fā)出去。如果定時(shí)器還沒到期又有新事件進(jìn)來就重置定時(shí)器。這個(gè)邏輯用 Shell 寫稍微有點(diǎn)繞但用幾行sleep和后臺(tái)進(jìn)程也能實(shí)現(xiàn)。如果追求更精細(xì)的控制可以考慮用一個(gè)小型的腳本語言來寫這部分邏輯。6.4 把提醒器做成一個(gè)可復(fù)用的命令行工具如果你覺得這套邏輯在多個(gè)場景下都有用可以把它進(jìn)一步封裝成一個(gè)獨(dú)立的命令行工具。我的做法是把核心邏輯抽出來做成一個(gè)接受子命令的工具比如notifier run -- 命令來執(zhí)行并監(jiān)聽notifier config來管理配置notifier test來測試通知通道是否正常。這樣它就不再是一個(gè)依附于特定工具的腳本而是一個(gè)通用的任務(wù)監(jiān)聽與通知工具可以用在任何需要的地方。封裝成工具之后還可以考慮發(fā)布到包管理器或者內(nèi)部共享目錄方便團(tuán)隊(duì)里其他人使用。不過要注意的是一旦要給別人用配置的默認(rèn)值和錯(cuò)誤處理就要做得更完善不能假設(shè)用戶會(huì)去讀源碼。文檔和示例配置就變得很重要了。我一般會(huì)附上一個(gè)README和一個(gè)config.example讓新用戶能在五分鐘內(nèi)跑起來。7. 一些實(shí)際使用中的體會(huì)這套提醒器我用了挺長一段時(shí)間最大的感受是它改變了我跟命令行工具的相處方式。以前我總是在“等任務(wù)”和“切窗口看任務(wù)”之間反復(fù)橫跳注意力被切得很碎?,F(xiàn)在我可以放心地把任務(wù)丟出去然后去處理別的事情任務(wù)完成時(shí)自然會(huì)收到提醒。這種“異步化”的工作方式讓我的時(shí)間利用率高了不少。另一個(gè)體會(huì)是完成判定的準(zhǔn)確性比通知的炫酷程度重要得多。我一開始花了很多時(shí)間在通知的樣式上后來發(fā)現(xiàn)真正影響體驗(yàn)的是判定邏輯。一次誤報(bào)就會(huì)讓你對提醒器失去信任之后每次收到通知都要去確認(rèn)一下那這個(gè)工具就白做了。所以如果你要自己實(shí)現(xiàn)建議把大部分精力放在完成判定的調(diào)參和驗(yàn)證上通知方式夠用就行。最后分享一個(gè)小技巧在調(diào)試完成判定邏輯的時(shí)候可以先把通知方式設(shè)成“只寫日志文件”然后跑一批不同類型的任務(wù)事后分析日志看看哪些任務(wù)被誤判了哪些被漏判了。根據(jù)日志來調(diào)參數(shù)比憑感覺調(diào)要靠譜得多。這個(gè)日志文件也可以長期保留作為任務(wù)執(zhí)行歷史的一個(gè)記錄偶爾翻翻還挺有用的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
黄网在线播放| 888久久久| 日韩爱操视频| 天天做综合| 婷婷丁香六月天| 噜噜噜久久| 综合激情五月四射婷婷| 久久99精品日本| 人妻熟女一区二区AV| 五月婷婷综合丁香视频| 婷婷色成人| 亚州精品色情无码A片| 影音先锋男士资源网一区| 91九色熟女| 激情网五月天| 120分钟婬片免费看| 婷婷五月激情丁香激情| 综合亚洲色色| 五月丁香六月婷婷精品| 九热视频| 五月婷婷六月丁香免费| 99ri视频| 爱射综合| 色~性~乱~伦~噜| 伊大人久久| 久久免费精彩视频| 99精品久久| 99久久这里只有精品| 热99精品视频在线观看| 五月色丁香综合| 免费观看2018www黄色操逼网站| 婷婷五月丁香综合| 日韩另类在线观看| 曰本aaaaaa丈片| 麻豆AV一区二区三区| 中文AV在线播放| 激情婷婷五月天日本系列| 亚洲视99| 九月婷婷综合八月丁香在线观看| 激情影院内射| 色色色色热热| 激情五月丁香色婷婷| 色五月天丁香婷婷| 成人AV免费观看| 午夜成人综合| 久久99综合| 日韩av在线电影| 亚洲婷婷综合视频| www.综合久久.com| 91狠狠色| 五月激情婷婷开心五月| WWW.桔色成人.COM| 丁香五月婷婷六月丁香| www.丁香五月| 亚洲av骚货| 丁香婷婷在线| www,天天干| 日婷婷久久开心| 色色综合热| 337p大胆噜噜噜噜噜91Av| 五月婷在线观看| 超碰在线观看9| 丁香五月在线| 狠狠爱综合网| 色婷婷呢狠禁久禁| 婷婷自拍| 五月总合激情网| 我爱大香蕉| 亚洲综合在线视频| 天天爽天天透天天爱| 婷婷激情六月综合| 婷婷淫淫狠狠六月| 操碰97| 六月丁香网| 久热 91| 天天天天天天天干| 色综合综合网| 色99在线观看| 亚洲亚洲人成综合网络| 激情综合婷婷久久| 久1色色| 色综合播放| 天天拍夜夜爽| 玖玖在线| 爱穴久久| 99久热在线精品| 婷婷六月丁香综合| 五月天激情视频| www.99热这里只有精品| 无码人妻一区二区一牛影视| 丁香五月综合久久八| 亚洲综合色丁香五月天| 五月停停999| 4399成人黄A片| 日韩青青| 99 色色吧| 久草热视频在线观看| 五月丁香久久网| 国产精品国产成人国产三级| 色婷丁香| 五月天丁香| 噜噜在线| 91好好热日本在线| 我要看激情五月天| 97人人干| 影音先锋色婷婷| 色 丁香婷婷| 很很干天天干| 免费无码毛片一区二区A片| 欧美久久婷婷| 91精品久久久久久77777| 婷婷五月丁香基| 久久久久久综合88| 超碰93在线观看| 九九热AV| 色很很96| 欧美色色色色色| 国产黄大片在线观看画质优化| 久99精品视频| 色婷婷a三区麻| 日本欧美国产| 亚洲免费观看高清完整版AV线| 六月婷婷视频| 超碰AV在线| 亚洲在线成人| 五月天色婷婷激情| 色yeye欧美| 色综合久久五月| 可以免费观看的av| www色综合亚洲92| 五月婷深深爱激情网| 性爱网五月天| 99婷婷| 日韩一级网站| 中文字幕av在线播放| 涩涩涩.com| 99色在线视频| 丁香五月综合图片在线观看| 婷婷五月天av| 天天操天天操综合| 丁香88AV五月婷婷| 婷婷五月天激情基地| 九九热这里有精品视频| 色噜噜狠狠色综合日日| 亚洲婷婷视频| 五月丁香啪啪啪| 91se在线视频| 久久综合五月天| 色五月综合在线| 色色A| 五月婷性爱| 狠狠色性| 六月婷综合| www.五月婷婷久久.com| 亲子乱AV-区二区三区| 色婷婷在线视频综合| 国外亚洲成AV人片在线观看| 五月丁香婷中文字幕| 国产成人一区二区三区在线观看| 久久综合天天综合| 热久69| 99视频在线观看网址| 亚洲AV久久久久久久久久久久久久久久 | 久久看婷婷| 射久久丁香五月| 五月丁香啪。| 丁香五月激情综合| 思思久久青草热| 伊久大香蕉| 丁香五月婷婷激情123| 日本人人超碰| 无码色| www.91九色| 97热这里精品在线视频| 久久五月六月| 丁香五月综合无码趴趴| 丁香五月Av| 激情综合五月色在线| 99热国品| 久久92| 欧美99热| 亚洲色就是色色色| 九色91国产| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 国产国产乱老熟女视频网站97| 色五月丁香激情视频| 婷婷丁香18| 五月丁香婷婷AV| AV在线免费播放| 五月婷婷六月激情| 丁香美女五月天婷婷| 中文字幕在线资源| 影音先锋男士资源网一区| 久久婷婷五月综合啪| 淫视馆aV二区一区| 欧美在线视频9| 欧美色婷婷| 丁香五月六月激情久久| 亚洲精品色色| 夜色综合网| 亚洲精品99| 色婷婷五月天小说网| 国产免费av在线| 91久久婷婷| 欧美日韩AAAA| 日日操夜夜爽天天天| 色吊操色妞| 成人在线视频网| 中文字幕丁香五月| 色五月综合网| 色婷婷色九月| 一区操| 99热只有| 精品激情| 日本天堂免费99| 丁香婷停五月激情综合深爱| 婷婷久久欧美| 99热精品在线播放| 庭庭久久内射| 五月婷婷,狠狠操| 成人国产欧美大片一区| 久久多色| 色五月开心久久网| www99精品日韩| 久久538| 五月天综合激情网| 丁香婷婷六月在线资源观看| 色五月婷婷五月久久| 久久一级片| 少妇出轨做爰高潮A片| 99碰碰| 都市激情五月婷婷亚洲| 成人网丁香五月| 亚洲成人在线免费| www色五月| 97色碰碰公开视频| 99精品久| 婷婷五月在线| 婷婷狠狠香蕉综合| 91高潮喷水久久久久久久久| 色色色丁香| 狠狠干综合| 九久9精品| 色婷久久| 啪啪激情综合| 人妻精品一区二区三区| 婷婷99狠狠躁天天躁| 丁香六月久久| 女人天堂AV| 精品无吗va视频免费观看| 狠狠色噜噜狠狠狠888了| 高潮毛片遮挡费高一百度| 精品在线网站| 亚洲色色色色色| 国产 码在线成人网站| av国产精品偷| 激情五月深爱五月| 人妻久久久久久久久妻久久久久| 丁香激激情网| 色偷偷五月天| 九九综合精品| 亚洲中文字幕在线观看| 9色天堂| 91高潮喷水久久久久久久久| 人人插9| 狠狠色丁香久久婷婷综合五月| 日韩精品呦呦va| 色99久草在线| 性热视频99精品| 久热91精品| 五月婷网| 色婷五月天网站| 激情5月天天天| 久久欧洲综合网| 狠狠激情五月天| 五月天最新网| 人妻AV在线| 婷婷五月婷婷| 五月做爱| www.99热| 狠狠操狠狠干综合| 九九色人| 8050一级网| 丁香五月婷婷99| 天天综合五月天| 天天爽人人综合免费7799| 这里都是精品99| 密乳视频| 亚洲精品视频在线| 九月丁香八月婷婷加勒比| 丁香五月天日韩无码| 大香蕉九九热| 米奇激情婷婷| 色五月激情综合| 五月丁香偷拍| 婷婷六月天| 99人妻碰碰碰久久久久禁片| www.ppypp| 五月激情网站| 男人的天堂av俄罗斯热| 成人羞羞啪啪 全 视频| 看逼中文字幕| 色色日韩| 97操碰在线视频| 狠狠狠狠狠| 97超级啪啪在线观看| 色婷婷综合综合网| 亚洲激情免费视频| 大香蕉av在线| 成人欧美日韩| 五月天婷婷在线观看| 久热这里只有| 婷婷午夜丁香| 激情五月婷婷五月丁香五月开心五月| 最近免费中文字幕大全高清大全1| 2013AV天堂| 这里只有精品,日韩视频| 久久久久久性爱视频| 五月婷婷丁香在线| 秋霞AV淫| 亚洲男女激情| 色444综合网| 3pAV| 狠狠做婷婷| 香蕉五月婷婷| 狠狠狠五月婷婷六月丁香| 久99视频在线观看| 思思久久99热只有频精品66| 无码日本精品XXXXXXXXX| 2020日日干| 天天精品视频在线观看视频| 欧美大片免费播放器| 久久狠狠干| 色久综合天天做视频| 五月天激情电影| 激情婷婷五月天丁香| 婷婷久久夜| 超碰人人射| 日本久久极品| 亚亚州久久高潮| 国产毛片精品一区二区色欲黄A片| 99婷婷国产最新视频| 婷婷五月天日本无码| 色婷婷丁香A片区毛片区女人区| 五月丁香六月婷婷啪啪| 另类专区在线| www.久久久.com| 婷婷色色婷婷| 久久婷婷五月综合成人d啪| 永久AⅤ1| www色哟哟| 91大屁股| 天天天日天天天干| 五月天丁香色色| 天天日,天天射,天天插| 国产又粗又大又爽又黄| 人妻肉射免费观看| 成人va在线| 色情五月天A片| 乱乱av| www 五月天 com| 夜夜爽77777妓女免费下载| 淫视馆aV二区一区| 五月丁香激情综合| 欧美综合五月丁香六月婷| 天天色情站| 丁香五月色网| 深爱五月婷婷| 婷婷中文字幕版| 女人高潮内射99精品| 操人妻90p| 色五月婷婷久久| 青草性爱视频| 久久婷婷艹| 99思思热只有在这里看 | 婷婷操无码| 91精品国产综合久久密臀 | 色婷婷久综合久久一本国产AV| 婷婷视频在线碰| 五月婷婷开心丁香| 91狠狠综合网| 伊人激情AV一区二区三区| 深爱激情九九五月天| 影音先锋男人女人| 性综合网| 五月天国产成人| 精品国产AV色一区二区深夜久久| 五月激情婷婷开心| 啪啪丁香五月| 中文成人在线| 日本天天色| 五月婷婷激情| 日本无码专区| 在线视频另类| site:feetmall.com| 色五月97| 久草热久草在线视频| 四色女婷婷| www.cao.com久久| 永久免费视频| 九九久久综合网站| 激情综合区| 中文字幕日产A片在线看| 婷婷五月天男人影院色色网| 深夜男女福利刺激影院一区完整| 久热精品免费视频4| 国产毛片精品一区二区色欲黄A片| 五月综合激情| 99惹 精品在线| 欧美日比视频| 亚洲国产精品综合色区| 五月丁香六月婷婷亚洲天堂网站| 五月天丁香看婷婷| 九月丁香婷婷| 99热碰碰热| www.五月激情红色| jiujiu热在线视频| 国产九九一区二区三区| 五月日韩中文字幕| 五月天婷婷视频| 五月天社区狠狠| 五月天婷婷久久| 国内精品免费一区二区2009| 国产成人+综合亚洲+天堂| 五月天激情www| 亚洲日本激情| 亚洲熟女色| 婷婷五月丁香成人网| 99熟女| 婷婷六月情| 综合激情网五月激情 | 久热99热| 国产黄色一级片| 无码成人AAAAA毛片AI换脸| 久久九精品| 日日做天天操夜夜爽| 97人妻碰碰中文无码久热丝袜| 久久男人网婷婷| 六月丁香网| 激情综合无码| 国产 码在线成人网站| 五月天激情啪啪| 色五月激情综合| 亚洲V国产V欧美V久久久久久| 丁香 亚洲 久久| 亚洲久久婷婷| 五月丁香九九九综合| 婷婷色婷婷亚洲成人| 9视频1在线| 97碰碰久久| 激情综合色| 五月天.com| 丁香五月开心亚洲| 色色色婷婷五月| 婷婷五月丁香在线视频| 色亚洲欧洲| 五月丁香六月婷婷婷婷| 操你av| 插插干干干色| 亚洲射激情| 色爱99| 激情婷婷五月久久| 五月天婷亚洲综合在线嫩草网| 久久停停超碰| 大香蕉伊人久久| 97碰碰视频在线观看| 日韩av在线免费观看| 久久99精品久久久久久三级| 97超碰在线免费观看| 五月婷免费视频| 免费看片操逼| 99re久热只有精品6在线直播.com| 色开心五月丁香| www.爱婷婷.com| 996热re视频在线观看视频| 五月天色色色网| 婷婷丁香黄色| 婷婷激情在线| 天天摸.天天mo| 夜夜躁狠狠 | 中美日韩成人在线| 思思热99热| 日日操夜夜爽| 亚洲亚洲人成综合网络| 99A片| 久久综合五月| 久久久婷婷婷| 天天噪夜夜爽| 思思热精品在线| 五月丁香影院| 激情综合五月婷婷| 婷婷黄色网| 热99在线精品| 99视频精品视频| 婷婷五月天a| 亚洲av骚货| 色色五月天丁香| 五月丁香六月婷| 影音先锋美国A| 香蕉五月婷婷| 国产日产成人亚洲欧美国产VA| 热热久久精品视频| 久久五月天综合| 五月色综合| 欧美性生交xXxX久久久| 成人丁香色| va婷婷在线| 思思热高清在线观看| 九色视频91疯狂| 亚洲无AV在线中文字幕 | 五月婷婷婷丁香播| 激情AV网| 久久99久久久久久| 婷婷丁香色情五月天| 99热99极品观看| 色色亚洲| 亚洲无线视频| 婷婷开心激情五月激情网| 久久停停超碰| 色色综合五月| 狠狠va| 99热综合| 婷婷婷狠狠| 国产精品99久久久久久猫咪| 五月天黄色激情小说| 五月天丁香综合久久国产| 嫩草AV久久伊人妇女超级A| 熟女啪啪视频| 极品人妻videosss人妻| 婷婷五月情| 91精品综合久久久五月天| 99这里只有精品8| 亚洲第一综合| 爱iii做iiii日日| 六月亚洲婷婷6月中文字幕| 日本五月婷婷| 久久综合五月天激情小说网站| 91操熟女| 婷婷五月天激情开心网| 五月综合人妻| 五月婷庭丁香在线| 婷婷六月色| 日韩精品超碰在线观看| 26uuu欧美日本| 香蕉人妻AV久久久久天天| 97久久超碰| 日日爽夜夜爽| 9久9久| 色五月首页| 人妻熟人中文字幕一区二区| 亚洲视99| 香蕉综合网| 伊人色综合久久久| 久久精彩免费视频| 操人视频91| 婷婷五月天开心激情网| 久婷婷久草| 99惹精品视频| 久久婷婷五月天大香蕉| 麻豆123区| 日本精品久久久久中文字幕| ,99视频久久| 亚洲色啪| 人人草公开操| 色色国产| 色色99色色| 婷婷综合在线| 五月丁香六月婷婷不卡免费无码| 图片区 小说区 区 亚洲五月| 色色色色色热| 九九aV| 免费国产VA国产免费| 亚洲热久久| 欧美日韩99| 91精品久久久久久| 久久综合激情五月天| 激情五月天视频| 欧美欧盟性爱网| 五月丁香啪啪啪| 亚洲人人96@| 欧美大片免费播放器| 色人五月婷婷| 色域五月丁香| 久久婷婷五月天蜜桃| 欧美日本高清视频99| 无码动漫av| 亚洲啪啪视频| 天天做天天爱天天高潮| 亚洲精品性色| 日韩大片艹艹| 久久综合丁香激情五月| 情五月亚洲婷婷| yazhoujiqingav| 五月婷婷六月丁香激情| 五月婷婷六月天| 久色激情| 婷婷五月天美女视频| 欧美久久久久久久久中文字幕| 色五月成人| 特黄三级片| 国产乱妇无乱码大黄AA片| 五月婷婷色情| 九九色之九九色88| 香蕉人妻AV久久久久天天| 99热亚洲精品| 天天操夜夜啊| 9999热在线| 久久色天堂| 色五月天综合| 五月天婷婷社区久久综合| 丁香五月天电影| A网在线欧洲| 99操无码视频观看| 久久色大香蕉| 中文字幕在线日亚州9| 深爱激情网婷婷| 玖玖五月丁香| 粉嫩AV久久一区二区三区| 九热视频| 77799热| 五月深情久久| 激情五月天婷婷| 深爱激情综合网| 丁香九月综合| 99热狠狠操| 欧美精品在线观看| 亚洲a色| 婷婷干五月综合在线播放| 国产免费AV网站| 99精品视频播放| 久99热| 九九热只有精品| 亚洲综合新99视频| 久久久久亚洲AV成人无码电影| 99国产精品久久久久久久久久久 | 无码少妇高潮喷水A片免费| 五月婷婷五月| 凹凸操Av| 婷婷色色综合激情| 婷婷六月色开| av第一二区| 色哟呦av| 国产精产国品一二三在观看| 超碰在线精品| 久久99热在线观看| 五月丁香狠狠| 69午夜成人影片| 成人丁香五月| 亚洲无aV在线中文字幕| 九九九九中文字幕| seav天堂| 国产无套精品一区二区| 人人摸人人干| 色婷婷影院| 五月婷婷综合网| 婷婷六月久久综合导航| 台湾佬天天日丁香婷婷五月天 | 激情五月com| 婷婷五月在线综合| 亚洲婷婷在线播放十月| 另类激情综合| 久久新地址| 五月婷婷色播| 色你久久| 五月丁香激情四射| 爆乳熟妇一区二区三区爆乳| 婷婷久久精品| 丁香五月停停基地| 99热网址| 日韩在线视频网站| 99re视频在线播放| 婷婷丁香在线| 久久精品性爱视频,| 久热婷婷| 99色婷婷| 国产Va视频| 狠狠 婷婷| 丁香五月骚喷水视频| 六月激情婷婷综合| 99热只有精品在线观看| 激情五月少妇| 色99在线观看| 91.com男女操| 色优久久| 丁香五月成人| 九月丁香久久网| 丁香五月婷婷操逼| 99久久亚洲国产| 丁香六月婷婷久久高清| 99在线精品观看99| 六月婷婷之青青草| 人妻在线中文字幕久久| 婷婷五月天六点丁香五月| 丁香婷婷噜噜| 亚洲九区| 99精品偷自拍| 超碰99热在线观看| 丁香婷婷五月激情| 日日干日日色| 五月花综合视频| 午夜成人网站在线观看| 五月婷在线| 999热这里只有美国精品| 狠狠色综合网站久久久久| 97极品在线| 成人五月天在线观看| 久久成人综合五月天| 婷婷婷婷婷婷婷五月丁香| 色情丁香五月婷婷精品| 日本精品久久久久中文字幕| 葵花AV在线| 中文字幕AV在线播放| 激情伍月 欧美| 九热视频| 一起草性爱不卡视频| 色日本颜射| 国产精品人妻在线网址| 久久九九免费大视频| 丁香五月精品| 婷婷五月天小说网| 9精品国产在热久久| 性爱网五月天| 丁香九月婷婷色| 日夜操B| 99久99久| 五月天丁香六月综合| 激情五月婷婷在线| 色五月婷婷五月| 精品五月花| 色婷婷五月六月丁香综合视频| 九九99一区| 天天综合色| 97成人在线视频精品| xxxx五月激情| 伊人www22综合色| 激情色五月天| 欧韩性爱| 91九色在线视频| 五月综合激情啪啪啪啪啪| 日本色天堂| 日韩99色99| 国产亚洲99久久精品| 婷婷五月丁香香蕉| 色5月婷婷| 99精品免费| 九月婷婷激情| 亚洲六月色| 男男野外做爰全过程69| 国产成人网| 久久9热| 婷婷日本在线| 五月天激情中文字幕| 激情五月婷婷丁香| www.maotanji.com| 成人精品亚洲性爱| 国产干逼片| 激情婷婷综合| 色婷婷五月天偷拍| 亚洲综合五月天婷婷丁香| 99热九九热| 五月成人丁香av91| 五月丁综合在线观看| 亚洲综合99| 成人视屏在线观看| 色综合中文| 婷婷趴趴| 天天人人人人人人人人人人人| 超碰妻人人| www激情网| 日韩av手机在线观看| 久热这里只有精品在线观看 | 丁香五月激情五月| 色欲资源网| 成人av在线网| 久香草视频在线观看| 丁香五月AV| 99热精品网| 国产乱子轮XXX农村| 五月天激情综合首页| 91热爆在线| 五月丁香婷婷福利| 成人精品在线观看| 亚洲激情五月婷婷日日| 农村熟妇高潮精品A片| 亚洲综合网激情五月天| 婷婷色情 | 我爱va亚洲va52| 国产av天天插天天操天天爽| 五月丁香AV在线| 丁香五月成人自拍| 热久久这里只有精品| 91凹凸在线| 婷婷久久五月天| 天天做天天视天天谢| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 99热自拍| 国精产品一区一区三区免费视频| 婷婷五月天伦理| 久草婷婷网 | 五月天色小说| 五月天另类小说久久小说网| 九九热99精品| 六月丁香综合| 欧美成性色| 欧美色图片88| 激情五月天婷婷五月天| 中文字幕不卡+婷婷五月| 色色色色色色色色网站| 日本在线视频手机播放五月婷| 亚洲九N| 骚。com| 精品99在线看| 日本色色色| 岛国av电影网站| 色五月婷婷1| 五月天综合久久| 亚洲综合婷婷| 亚洲超级碰| 可以免费观看的AV| 狠婷婷五月| 日韩欧美成人片| 丁香五月天堂网| 丁香五月区| 成人国产综合| 超碰日韩人妻在线| 久久婷婷91| 在线色五月婷婷| 香蕉乱插| 强壮公让我夜夜高潮A片视频| 五月色俺婷婷| 色综合大香蕉| 色.五月综合网| 99狠狠| 天天在线久久综合 | 国产精品激情五月天色婷婷| 亚洲av日韩无码| ..真实国产乱子伦对白在线_欧 | 69人人操人人爽| 啪啪一区| ji'qi'luan'ren'lun| 99这里只有精品视频免费| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久激情天堂| 伊人色欲五月天| 色综合久| 国精产品一区二区三区| 色狠狠色噜噜AV天堂五区| 五月婷婷视频| 五月婷婷深爱六月| 婷婷中文字幕| 色五月婷婷伊人| 无码激情AAAAA片-区区| 大香蕉综合在线| 日日插日日干| 婷婷五月天综合蜜桃| 色射影院| 婷婷五月天毛片| 在线看九一V图片| 尔尔AV一区| 五月丁香激情综合| 99热99热不卡| 久久五月网| 蜜臀丁香黄色婷婷五月天| 色综合色婷色基地| 99婷五月| 国产人妻777人伦精品HD| AV五月丁香| 久久久这里有精品| 99热只有精品在线观看| 99区视频| 成人操呦av| 91热久久| 久久五月激情综合| 色色色97| 色月丁| 九九久久玖玖爱| www.99热国产| 日本精品人妻无码77777| www.99热这里只有精品| 99久久久久久| 亚洲婷婷丁香| 99热免费精品| 123草逼网| 国产97色在线 | 日韩| 久久久久人妻网址| 五月天综合激情网| 婷婷丁香五月综合网上| 亚洲丁香五月在线观看| 天天射天天射一道本日本社区| 狠狠色性| 欧美色骚婷婷五月天| 色八月婷婷| 久热这里只有精品性色AV| 99色综合| 激情久久四色| 五月婷婷综合网在线播放| 99rewww| 色9色| 激情综合网,五月| www婷婷色情网| 亚洲乱码成人| 色综合综合网| 熟女激情五月天| 婷婷五月天天爽| 久久精品五月天| 久久久18| 97人人干| 最新无毒无码AV| 久久婷婷一级片| 丁香五月天亚洲综合| 99热精品网| 热99精品视频五月| 五月婷婷综合激情网| 性爱动图国产麻豆一区二区三区| 婷婷五月成年人| 五月婷婷 六月丁香| 五月丁香婷在线| 综合久久五月天| 丁香五月在线自慰| www久久99| 亚洲12p| 超爽内射| 91日本在线| 99热这里只有精品98| 天天干天天爽天天爽| 5月婷婷6月六月丁香| 五月丁香操婷逼| 欧美槡BBBB槡BBB少妇| WWW.亚洲无码| 99久re热| 激情五月综合视频| 另类图片婷婷五月天| 丁香五月六月| 婷婷免费视频| 国产jd1024基地手机看国产| 久久视频婷婷| 欧美激情 日韩无码 婷婷 五月天| 思思精品久久艹| 色五月av| 国产人妻777人伦精品HD| 欧美日韩国产成人在线| 超碰在线视屏| 激情都市五月天| 日本色色网站| 成人片黄网站色大片免费毛片| 久久99免费视频网站| 内射综合网| 狠狠久综合| 人人妻人人澡| 伊人热在线大香蕉| 色婷久久| 99er精品视频| 99热精品在线观看| 琪琪秋霞| 九九热这里| 精品一区二区三区四区五区六区| 色婷婷综合在线| 色久婷婷网| 9热在线观看| 亚洲中文字幕在线观看| 亚洲不卡| WWW五月| 99re在线观看| 色婷婷超碰| 亚洲色vA| 婷婷五月av| 夜夜躁婷婷AV| 天天天日天天天干| 九九成人| 亚洲色图五月丁香| www.开心激情| 疯狂做受XXXX高潮A片| 91色噜噜狠狠狠狠色综合| 婷婷五月天激情五月天网站| 久久久久人妻网址| 激情综合色婷婷啪啪六月天| 亚洲AAAA网| 综合久| 99riAv1国产在线观看| 亭亭五月天黑人2014| 五月婷丁香| 丁香六月激情| 激情五月天网| 91高潮喷水久久久久久久久| 狠狠五月天婷婷| 97色婷婷| 99热亚洲| 五月丁香六月婷婷激情网| 操逼五月婷婷| 五月丁香AV、伊人业余、性色熟妇| 99热主页日本| 人人操 色| 五月天婷婷激情小说电影| 人妻激情久久| 亚洲精品性色| 麻豆观看夏晴子| 色综合久久88色综合天天人守婷| 99精品在线| 五月天综合久久| 久久精品9| 超碰93在线观看| 九九色播五月丁香| 影音先锋 一区| 深爱五月激情| 成片免费观看大全| 六月合五月婷| 亚洲婷婷丁香五月| 久色婷婷200| 青青草原爱爱网| 欧美人妻一区二区| 超碰99热在线观看| 婷婷伊人网| 狠狠九九婷婷韩| 女人被男人吃奶到高潮| 99人妻碰碰碰久久久久视| 婷婷性色| 9久久AV| WWW,五月| 影音先锋一区二区三区| 91精品丝袜久久久久久| 久久精品99| 亚洲中文字幕av| 日日干夜夜撸夜夜骑| 成人中文网| 久久九九大香蕉电院| 五月做爱| 天天日天天操心| 久久99久久99久久99人受| 久久9情免费| 五月婷婷综合久久| 丁香五月综合无码趴趴| 亚州操操| 精品久色| 国产做爰视频免费播放| 五月婷婷综合色拍| 日韩aⅴ视频| 99热这里都是精品| 九九色婷婷| 久久在线视频免费观看| 久久思思热视频| 99久精品| 久热这里只有| 开心五月丁香婷婷| 日日噜噜久久婷婷五月天| 99免费热视频在线| 天天爽夜夜爽夜夜爽精| 99天堂在线观看免费视频| 五月天激情久久| 丁香婷婷网| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 色五月丁香五月| 99综合免费视频| 超碰93在线观看| 伊人色综合网| 99re思思热久久| 婷婷色九月| 老美AA片| 操操自拍| 激情丁香淫荡婷婷| 久久天堂色| 狠狠草狠狠草| 狠狠色丁香久久婷婷综合五月| 91九色在线视频| 国产成人精品亚洲线观看| 成人丁香婷婷| 久久这里只有精彩| 丁香久久激情俄| 久久综合五月天| 欧美一级操逼视频| 男人的天堂999| 97操女视频| 99性色| www,色色色网站| 婷婷色五月综合丁香| 色九九一二| 日本三级日本三级99| 亚洲激情婷婷| 99色色网站| 操日本三片99| 精品一二三区久久AAA片| 成人免费在线电影| 狠狠五月激情婷婷直播片| 亚洲视频五区| 另类图片五月激情| 狠狠色丁香| 99狠狠色| 婷婷丁香五月亚洲| 激情婷婷综合| 182TV大香蕉| 懂色av粉嫩AV蜜臀AV| 99热这里只有精品在线| 人人草人人爱| 日日夜夜爽爽| 五月丁香网av| 久草 天堂| 色婷婷色五月综合| 国内一级片| 亚洲精品成人| 91精品婷婷国产综合久久| 五月婷婷开心五月| 91精品国产综合久久密臀| 人妻久久久久久久久妻久久久久久久久| 久艹伊| 91狼友视频网页更新| 五月天激情综合| 亚洲熟女色| 婷婷五月天美女21p| 五月激情网络| 色播五月丁香婷婷| 看黄的网站18禁| 五月丁香操婷逼| 99狠狠操一| 久久午夜丁香| 六月丁香开心婷婷欧美| 九九热视频精品999| 精品无码久久久久久久久| 99热这里只有精品5| 特黄三级片| 国产免费一区二区三州老师F1F1| 噜噜色婷婷| 99热在线观看这里只有精品| 婷婷丁香五月天色区| 99无码免费视频| 狠狠操.com| site:xiongshengzz.com| 色九网| 婷婷五月天av| 国产在线中文字幕| 91九色精品女同系列| 亚洲综合草草| 影音先锋一区| 丁香婷婷性爱| 久久丁香五月天| 色噜噜狠狠色综合无码久久欧美| 97热视频| 伊人婷婷青青cao| WWW.天天日| 99色6爱9热| 丁香五月花婷婷开心| Xx色综合| 久草五月天电影网| 伊人狠狠综合| 五月丁香六月欧美| 看国产探花操逼三级片| 五月婷婷在线综合| 婷婷六月啪啪| 991精品在线视频| 婷婷伊人网| 超碰91在线| 大伊香蕉精品视频在线 | 五月丁香好婷婷姑娘综合网| 国产亚洲成人综合| 99亚州综合精品成人网| 国产在这里只有精品| 91久久婷婷| 日韩AV免费电影在线播放| 97操资源婷婷| 97碰成超视频免费视频| 影音先锋色婷婷| 色激情综合狠狠婷婷| 亚洲99手机免费看视频| 五月婷婷激情久久| 99riAv1国产在线观看| 色99网| 嫩草AV久久伊人妇女超级A| 精品9久| 99精品高潮| 婷婷六月丁香激情| 2025天天爽天天摸| 狠狠人人婷婷| 夜夜操天天干| 色婷插| 亚洲性爱电影| 77799热| 五月天六月婷| 影音先锋色婷婷| 国产真实乱了老女人视频| 伊人影院久久网| 丁香五月婷婷色| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 五月天综合| 五月婷婷色在线| www.五月天色色色| 九九99视频精品| 婷婷五月花丁香| 人人摸人人摸| 百度一下国产精品A| 五月丁香六月激情综合| 五月丁香六月婷婷在线小说视频| 激情綜合W W W,激情五月天| 五月丁香婷婷色| 91a片爽| 91综合在线| 日日爽日日爽| 五月丁香影视| 超碰在线播放免费观看| 六月婷婷深深爱| 日日夜夜天天综合| 人人操av| 久热超碰91| 青青草婷婷综合五月| 欧美五月婷婷| 欧美日韩婷婷五月天| 亚洲人妻av| 99视频这里只有精品10| 99久久婷婷国产综合| 日本三级网址| 甈吧vv| 九九综合色| 五月天婷婷丁香人人操91| 激情五月天在线观看色婷婷| 色色性爱视频| 日本精品人妻无码77777| 婷婷五月综合网| 99视频这里有精品免费观看| 久久六月综合| 中文字幕av亚洲| 久久性爰视频这里只有精品| 色婷五月天| 五月丁香久久久久| 婷婷色情五月| 无人区码一码二码三码医生系列| 99在线视频精品| 久久婷婷五月天蜜桃| 超碰成人黄色网| 久久er免费视频| 成人一级片| 色婷婷文字幕| 五月网在线| 精品国产AV色一区二区深夜久久 | 丁香五月天婷婷久久| 色噜噜狠狠色综合日日| 欧美色色色色色色| 丁香五月天天高清在线| 日本乱子人伦在线视频| 五月丁香日本片| 97色婷婷| 久久色天堂| 婷婷丁香五月激情密臀av| 91综合网| 色狠狠色噜噜噜a天堂一区| 国产欧美精品AAAAAA片| 伊人丁香六月婷婷| 日日爽日日| 久久丁香五月婷婷| 丁香五月综合婷婷| 黄色激情久久| 色婷婷五月综合在线| 日韩淑女人妻luan伦激情精品一区二 | 亚洲第一黄网| 97在线/亚洲| 五月婷啪啪| 久久婷婷五月综合色奶水99啪| 天天综合色丁香| 大香蕉五月| 国产.亚洲.欧洲视频在线| 成人资源在线| 操日视频| 亚洲黄色精品| 婷婷五月天黄色| 大香蕉婷婷色| 91综合在线| 99国产er热视频| 欧美交换配乱吟粗大25P| 激情五月激情综合网一级丸片| 欧美三级A做爰在线观看|