定時觸發問題
定時觸發問題
如果只是乙個很少量的定時觸發。可能很多人會把哪個東西加到淺程池來實現。
而我們這邊的實現是採用佇列方式。 所有還沒有觸發的東西都放在乙個佇列裡。並且按觸發時間排好。
比如說這是乙個要求比較實時的。我們就不需要0.5s檢查一下這個東西時間是不是到了。 如果是以天為單位的。哪麼我們就要任務結束後計算出第二是什麼時候。demo在mailsender,webshop裡而都有。
我們順便看一下時間問題。
這個任務必須在3天後觸發
triggertime= addtime + 3days 這樣就是乙個三天後的時間
然後程式什麼判斷呢?
兩種情況
現在時間還小於the day,嗯時間還沒到任務不需要觸發.
時間大於 theday,任務做了嗎? 沒有做。哪就要敢緊做了? 換句話說,三天後要發也就是說現在必須發三天前的東西,兩天前沒有關係。
很明顯第二個才是我們要的轉換程式思維一下
triggertime triggertimedatetime.today.
或者是直接用日期了
triggertime.date = currenttime.today
比如說有乙個試用週期快到了,你希望提醒使用者來續費。 我們的直刻感覺就是下面的這種
(totaltrialdays - sqlmethods.datediffday(it.createtime, datetime.today)) == reminingdays
實際上也是可以轉化成上面哪種 比如還剩2天的時候要提醒 totaltrialdays-reminingdays 所以
traggerday 就是 createtime + totaltrialdays-reminingdays
creaetime.today <= datetime.today - totaltrialdays +reminingdays
totaltrialdays + creaetime.today <= datetime.today +reminingdays
totaltridays + createtime.today-today <= levldays
totaltridays - (-createtime.today+today) <= levldays 小於的話就一定會觸發
跟上面的是一樣的
需要注意的是:
比如說有這樣的乙個任務 invoice在生成14天後還沒有被支付的話我們必須發郵件告訴他。
我們必須考慮的是。如果我們的這個程式重啟了會不會造成這封郵件被多次好送。
我們必須記錄這個任務有被執行了。
onblur 無限觸發問題
當使用onblur事件時,如果呼叫alert prompt,confirm之內的能掛起js執行的 可能會導致重複觸發onblur事件。這時,可以使用onchange 事件來代替onblur 事件。方法 輸入框失去焦點並且 value 改變之後觸發。onchange 方法需要滿足兩個條件,value ...
JS事件覆蓋問題和觸發問題
昨天遇到乙個面試題,主要就是事件覆蓋問題和觸發問題 不是打廣告,無視文字內容 總之這樣的話,會輸出三次 做自己的 為什麼不是兩次,而是輸出三次呢?1.首先onclick function.是dom0級事件處理程式,而addeventlistener是dom2級事件處理程式,這兩種屬於不同類,不會相互...
zabbix的action不觸發問題
在使用zabbix的action的時候,我遇到了乙個問題 定義的trigger可以觸發,然而定義的action卻始終不觸發 我使用的zabbix的版本是3.0.7 1.el7.x86 64,客戶端也是如此。然後就開始排錯 1使用者授權 把使用者所在的組授予監控該主機組可讀許可權 2media管理 檢...