之前有個需求就是周一到周五,9點到下午6點呼叫介面查詢在線人數,然后在這個時間段內的插入資料庫,我做了,我用的是spring的task,寫的cron運算式來實作的。
現在需求變了,希望執行的時間不再僅是周一到周五,因為有時候節假日放假,還有周六日有人加班也要執行這個任務,他把不執行任務的時間(也就是放假的時間,全部寫到一張表上),現在希望沒在資料庫表上的時間再執行定時任務,當然周末默認還是不執行,用什么技術實作?
uj5u.com熱心網友回復:
你這種定制化的需求那明顯得自己去寫啊,難道框架還能提前知道假日辦的節假日安排嗎...uj5u.com熱心網友回復:
我之前沒用過定時任務,就上次他讓我寫那個每天執行的任務,我是用spring的Task做的,組態檔里面寫cron運算式,現在需求變了,我不知道咋做了,我主要是想問,做這種功能需要用什么技術?Task還是Quartz
uj5u.com熱心網友回復:
這個可能需要用一張表去維護,生成任務執行周期表uj5u.com熱心網友回復:
這種定制化的功能一般框架肯定是不支持的,你總得搞清楚人家的邊界,最好的辦法是用一個表維護節假日,做到這個可配置,因為每年的節假日安排都不一樣,雖然有一定規律,每天執行定時任務的時候先去查下這個表是否需要執行定時任務即可,不需要就不執行真正的統計代碼就好了.從這段話來看,給你分配作業的人已經給你方案了,你為啥還來問?我建議你還是多跟設計這個功能的人多溝通溝通,你和他對定時任務的理解邊界感覺有點出入,他理解的是統計插入這塊邏輯,你的理解卻是包括定時規則在內的邏輯,你的答案已經在你的描述中,只是你沒理解罷了.
uj5u.com熱心網友回復:
接上面,我覺得你入行時間較短,估計還是會誤解我的意思,你的定時任務就配置成每天執行,而不是周一到周五,是否執行真正的業務邏輯根據這個表的時間配置去判斷就好了.uj5u.com熱心網友回復:
我就是配置的周一到周五,用的cron運算式,但是給我任務的人說,有時候周末會加班,或者假期占了周一到周五任意一天,如果那天沒人上班,就沒必要執行定時任務,于是就新建了一張假期表,專門約束我之前寫的那個定時任務
uj5u.com熱心網友回復:
定時器配置成每天執行,然后再代碼里去查你的配置表來決定要不要執行業務邏輯uj5u.com熱心網友回復:
跟你溝通有點費勁哈~,你這思路有點死,能不能跳出你那個定時任務配置來,把你這個定時任務配置修改成每天都執行,然后再去假期表里查一下今天是否需要統計資料,需要就統計,不需要就不統計.
上面我就指出你的問題在哪,但你這閱讀理解的能力怕是也很難理解重點在哪,我也只能復讀機般的跟你講上述的解決方案.
1.修改定時任務配置改成每天都執行.
2.新增一張假期表,定時任務執行時,讀取該表,當天是假期的,就不執行統計在線人數的邏輯(人家的意思不是不執行定時任務,只是不去統計并插入,你的問題就在這里,雖然我也無法理解你對問題的理解會卡在這里)
3.這張假期表如何設計,大概就一個日期就好了
4.其他的應該是不需要修改的
還有給你任務的人都已經說成這樣了,你還沒懂...建議再去咨詢下他,盡量做到資訊對稱,不要怕丟臉,做不出來才丟臉.
uj5u.com熱心網友回復:
接上面,我覺得你入行時間較短,估計還是會誤解我的意思,你的定時任務就配置成每天執行,而不是周一到周五,是否執行真正的業務邏輯根據這個表的時間配置去判斷就好了.
我就是配置的周一到周五,用的cron運算式,但是給我任務的人說,有時候周末會加班,或者假期占了周一到周五任意一天,如果那天沒人上班,就沒必要執行定時任務,于是就新建了一張假期表,專門約束我之前寫的那個定時任務
還有沒必要執行定時任務的含義是指不去做"9點到下午6點呼叫介面查詢在線人數"這件事情而已,人家的定時任務說的是任務,定不定時給任務的人不在意,既然這個周一到周五的配置已經無法滿足需求,框架也沒有滿足需求的方案提供,那自然就得自己去實作,也就是增加了一張假期表,你自己寫代碼去判斷是否需要查詢在線人數這件事情.
說到這份上你還不懂,那我真覺得你的id取的很對,可以考慮換份作業,雖然有點傷人,但每個人都有適合自己的作業,沒必要做不適合自己的作業.
uj5u.com熱心網友回復:
接上面,我覺得你入行時間較短,估計還是會誤解我的意思,你的定時任務就配置成每天執行,而不是周一到周五,是否執行真正的業務邏輯根據這個表的時間配置去判斷就好了.
我就是配置的周一到周五,用的cron運算式,但是給我任務的人說,有時候周末會加班,或者假期占了周一到周五任意一天,如果那天沒人上班,就沒必要執行定時任務,于是就新建了一張假期表,專門約束我之前寫的那個定時任務
還有沒必要執行定時任務的含義是指不去做"9點到下午6點呼叫介面查詢在線人數"這件事情而已,人家的定時任務說的是任務,定不定時給任務的人不在意,既然這個周一到周五的配置已經無法滿足需求,框架也沒有滿足需求的方案提供,那自然就得自己去實作,也就是增加了一張假期表,你自己寫代碼去判斷是否需要查詢在線人數這件事情.
說到這份上你還不懂,那我真覺得你的id取的很對,可以考慮換份作業,雖然有點傷人,但每個人都有適合自己的作業,沒必要做不適合自己的作業.
好的,馬上換作業,
1.我說了有假期表
2.假期表是運維提前寫上去的
3.你一直給我說你的思路,我服了,你那點簡單的邏輯我還是懂,一開始問問題的時候就懂
4.我想問的是如何在動態的去控制定時任務
5.你一直說我一直說定時任務,假期表里面你讓運維把每年的周末都寫上去?里面只有假期或者周末加班的日期,你可能會說:周末你不會判斷?趕快給老子換作業吧,哈哈
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/260800.html
標籤:Web 開發
上一篇:sqlserver 同表資料更新
