国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

abpvnext后臺(tái)工作者使用quartz擴(kuò)展的一些思路和使用細(xì)節(jié)記錄--(未完待續(xù))

這篇具有很好參考價(jià)值的文章主要介紹了abpvnext后臺(tái)工作者使用quartz擴(kuò)展的一些思路和使用細(xì)節(jié)記錄--(未完待續(xù))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

需求背景描述:

我有一個(gè)溫濕度數(shù)據(jù)采集的物聯(lián)網(wǎng)系統(tǒng),每個(gè)租戶都需要定時(shí)執(zhí)行若干種任務(wù),?不同的租戶,?他定時(shí)執(zhí)行的間隔不一樣 ,比如?

A租戶,數(shù)據(jù)保存間隔60秒,數(shù)據(jù)是否超限的輪詢間隔是是600秒,?

B租戶,數(shù)據(jù)保存間隔是300秒,數(shù)據(jù)是否超限的輪詢間隔是1800秒。


經(jīng)過(guò)查閱abp官網(wǎng)文檔,和quartz資料,得到如下思路:

1、用quartz來(lái)排隊(duì)執(zhí)行后臺(tái)工作者,需要一個(gè)job執(zhí)行隊(duì)列表。

2、搞一個(gè)定時(shí)任務(wù),最簡(jiǎn)單的比如timer,然后定時(shí)去獲取所有租戶的定時(shí)任務(wù)間隔時(shí)間,看看是否有修改,有修改就按照新的定時(shí)任務(wù)輪詢間隔,給job表按租戶更新新的執(zhí)行隊(duì)列行。

3、然后quartz就不停的排隊(duì)定時(shí)去job執(zhí)行對(duì)列表中領(lǐng)取任務(wù)執(zhí)行。


具體執(zhí)行思路如下:

1、定義?一個(gè)job隊(duì)列表,包含字段:

任務(wù)id,租戶id,執(zhí)行的業(yè)務(wù)類型(按setinfo表對(duì)應(yīng)的設(shè)置字段名來(lái)填,也可以理解為任務(wù)組別),任務(wù)名稱,執(zhí)行時(shí)間間隔,開始執(zhí)行時(shí)間,停止執(zhí)行時(shí)間,上次執(zhí)行時(shí)間,下次執(zhí)行時(shí)間,執(zhí)行次數(shù)(可選),失敗次數(shù)(可選),執(zhí)行狀態(tài)鎖(1執(zhí)行中,0空閑中),任務(wù)狀態(tài)(0,停止,1啟動(dòng))。

job隊(duì)列表以租戶和執(zhí)行的業(yè)務(wù)類型2個(gè)字段來(lái)判斷唯一值,每個(gè)租戶同一個(gè)執(zhí)行類型只允許有一行數(shù)據(jù)。

比如租戶A,執(zhí)行類型offline ,執(zhí)行周期60秒

租戶B,執(zhí)行類型savetime,執(zhí)行周期1800秒

2、搞一個(gè)普通的后臺(tái)工作者,比如定時(shí)1分鐘去掃描一次setinfo表,然后遍歷分析看看每個(gè)租戶的各項(xiàng)需要執(zhí)行的判定周期是否有變動(dòng),如果有變動(dòng)就到j(luò)ob隊(duì)列表,新增或者修改這個(gè)租戶對(duì)應(yīng)的執(zhí)行業(yè)務(wù)類型的周期值。

3、搞個(gè)quartz后臺(tái)工作者,定期調(diào)用業(yè)務(wù)執(zhí)行類PeriodicJudgmentService類的PeriodicJudgmentData方法,這個(gè)方法業(yè)務(wù)為:

讀取job隊(duì)列表數(shù)據(jù),遍歷所有job數(shù)據(jù)行,

如果當(dāng)前時(shí)間和job行上次執(zhí)行時(shí)間的差是大于job的執(zhí)行時(shí)間間隔列的值(2023-6-1新思路修改為用下一次執(zhí)行時(shí)間來(lái)與當(dāng)前時(shí)間比較,當(dāng)前時(shí)間大于下次執(zhí)行時(shí)間就執(zhí)行一次),我們就需要根據(jù)租戶ID查詢到setinfo、tmplist、descList信息裝填到定義的變量,做好數(shù)據(jù)準(zhǔn)備。

然后根據(jù)job的類型,將上面準(zhǔn)備好的數(shù)據(jù)變量做參數(shù)傳遞,去調(diào)用執(zhí)行指定的業(yè)務(wù)邏輯方法,比如離線判斷一個(gè)方法,數(shù)據(jù)超限判斷一個(gè)方法,數(shù)據(jù)保存一個(gè)方法。

4、其實(shí)還可以根據(jù)job的執(zhí)行類型,來(lái)分別建立quartz后臺(tái)工作者,

比如離線判斷一個(gè)工作者,數(shù)據(jù)超限判斷一個(gè)工作者,數(shù)據(jù)保存一個(gè)工作者,這樣可能不同業(yè)務(wù)分開執(zhí)行,能更好的隔離各任務(wù)類型,并且確保不同的業(yè)務(wù)類型的執(zhí)行安全程度。


2023-5-13日臨時(shí)思考記錄:

每個(gè)任務(wù)類型的執(zhí)行隊(duì)列,那么多行,怎么判斷是否執(zhí)行完成了一輪是個(gè)問(wèn)題,是否需要在隊(duì)列表中加執(zhí)行順序。或者是否要考慮再加一個(gè)任務(wù)執(zhí)行記錄表,記錄執(zhí)行了哪些任務(wù)。
2023-6-1日記錄:

因?yàn)榍岸藭r(shí)間被老項(xiàng)目任務(wù)拖累,一直到現(xiàn)在才有空重新回來(lái)做這個(gè)沒做完的定時(shí)任務(wù)邏輯。重新回顧了一下5-13日的問(wèn)題, 給job表增加 下次執(zhí)行時(shí)間? 字段可以解決問(wèn)題,這樣只用在每次遍歷job表的時(shí)候任務(wù)的下次執(zhí)行時(shí)間是否已經(jīng)到達(dá)了,當(dāng)前時(shí)間到達(dá)或超過(guò)下次執(zhí)行時(shí)間都可以執(zhí)行,每次執(zhí)行完一行作業(yè)任務(wù),就把下次執(zhí)行時(shí)間加上執(zhí)行間隔,更新為新的下次執(zhí)行時(shí)間。? 不過(guò)這樣要考慮業(yè)務(wù)配置的執(zhí)行間隔不能比quartz工作者本身的執(zhí)行間隔還短,不然永遠(yuǎn)都追不上任務(wù)下一次的執(zhí)行時(shí)間,會(huì)越拉越長(zhǎng),比如quartz工作者本身是20秒執(zhí)行一次, 那所有的job任務(wù)執(zhí)行間隔應(yīng)該要超過(guò)20秒。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-440890.html


到了這里,關(guān)于abpvnext后臺(tái)工作者使用quartz擴(kuò)展的一些思路和使用細(xì)節(jié)記錄--(未完待續(xù))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信去水印小程序 簡(jiǎn)單方便快捷 短視頻工作者必備

    一、微信去水印小程序的原理 微信去水印小程序基于短視頻編輯技術(shù),通過(guò)識(shí)別短視頻中的水印位置和顏色,然后利用相應(yīng)的算法將其實(shí)現(xiàn)去除。具體而言,微信去水印小程序做如下操作:首先,對(duì)短視頻中的水印區(qū)域進(jìn)行掃描并記錄其位置;然后,根據(jù)掃描結(jié)果對(duì)水印進(jìn)行

    2023年04月27日
    瀏覽(16)
  • 什么樣的編輯器好用?或者適合電腦工作者的編輯器?

    電腦工作者和程序員所使用的文本編輯器通常需要具備高效率、易用性以及對(duì)代碼友好等特點(diǎn),包括語(yǔ)法高亮、自動(dòng)完成、多文件同時(shí)編輯、查找替換、版本控制集成等功能。以下是幾個(gè)廣受開發(fā)者歡迎且實(shí)用性較強(qiáng)的文本編輯器: Visual Studio Code (VS Code): 開源、免費(fèi),由

    2024年02月21日
    瀏覽(24)
  • 科研工作者們,ChatGPT (GPT-4) 玩起來(lái)了沒,來(lái)這體驗(yàn)一下吧

    科研工作者們,ChatGPT (GPT-4) 玩起來(lái)了沒,來(lái)這體驗(yàn)一下吧

    話不多說(shuō),直接上鏈接: https://sci.justscience.cn/chatgpt 再來(lái)個(gè)讓我很驚訝的案例—— 設(shè)計(jì)研究方案 看看是不是可以作為一個(gè)小助理來(lái)給你點(diǎn)參考了? 如果想完全讓ChatGPT來(lái)幫自己做完整方案還是放棄吧!畢竟有些回答依然是有錯(cuò)的,比如它回答,GPX4和SLC7A11并不是鐵死亡的特異

    2023年04月27日
    瀏覽(22)
  • 優(yōu)秀自媒體工作者常用的7款ai寫作工具! #AI寫作#AI寫作

    優(yōu)秀自媒體工作者常用的7款ai寫作工具! #AI寫作#AI寫作

    我們做自媒體運(yùn)營(yíng),想要快速的創(chuàng)作內(nèi)容,提供文章的創(chuàng)作速度是我們的目標(biāo),我們別的大佬可以很快地就創(chuàng)作出一篇內(nèi)容,而自己墨跡半天確出不了一個(gè)字呢?其實(shí)這關(guān)乎到創(chuàng)作技巧,下面小編就跟大家分享如何利用自媒體工具輔助自己創(chuàng)作的技巧。 1.紅桃寫作 這是一個(gè)微

    2024年04月23日
    瀏覽(33)
  • 技術(shù)工作者們都在哪里聚集?這篇推薦讓你一次性get到

    技術(shù)工作者們都在哪里聚集?這篇推薦讓你一次性get到

    大家好,我是 jonssonyan,一名程序員,今天我來(lái)給大家推薦幾個(gè)程序員常去的技術(shù)論壇。作為程序員,我們的知識(shí)儲(chǔ)備和學(xué)習(xí)能力是至關(guān)重要的,而技術(shù)論壇則是獲取最新技術(shù)動(dòng)態(tài)和經(jīng)驗(yàn)分享的最佳途徑之一。在這篇文章中,我會(huì)給大家介紹一些我個(gè)人常去的技術(shù)論壇,希望

    2023年04月09日
    瀏覽(25)
  • 用AI幫助你思考??jī)擅髮W(xué)生一夜開發(fā)出ChatMind,這次是知識(shí)工作者的福音!

    用AI幫助你思考??jī)擅髮W(xué)生一夜開發(fā)出ChatMind,這次是知識(shí)工作者的福音!

    ?Datawhale發(fā)布? 作者:石天放,Datawhale成員 ChatGPT建議的標(biāo)題。還可以吧。 如何讓知識(shí)工作者更便捷的通過(guò)對(duì)話就能梳理思維邏輯、找到解決方案,Datawhale成員天放,開發(fā)了能夠與AI對(duì)話生成思維導(dǎo)圖的工具ChatMind。這次是知識(shí)工作者的福音!國(guó)內(nèi)就可以體驗(yàn)。 ChatMind能夠在多

    2024年02月05日
    瀏覽(20)
  • Django高級(jí)擴(kuò)展之系統(tǒng)后臺(tái)使用celery

    Django高級(jí)擴(kuò)展之系統(tǒng)后臺(tái)使用celery

    如果我們?cè)谙到y(tǒng)后臺(tái)想某日某時(shí)執(zhí)行某個(gè)任務(wù),或者每隔一段時(shí)間執(zhí)行某個(gè)任務(wù),可以使用celery來(lái)完成。 目錄 安裝 安裝celery 安裝django_celery_beat celery配置 注冊(cè)應(yīng)用 celery配置 修改__init__.py 表遷移 執(zhí)行遷移 控制臺(tái)運(yùn)行截圖 新增數(shù)據(jù)表 安裝django-celery-results 執(zhí)行命令 注冊(cè)應(yīng)用

    2024年02月11日
    瀏覽(26)
  • 解決python擴(kuò)展在連接遠(yuǎn)程服務(wù)器時(shí)無(wú)法使用: 此擴(kuò)展在此工作區(qū)中被禁用,因?yàn)槠浔欢x為在遠(yuǎn)程擴(kuò)展主機(jī)中運(yùn)行。請(qǐng)?jiān)?‘SSH: xxxxx‘ 中安裝擴(kuò)展以進(jìn)行啟用

    解決python擴(kuò)展在連接遠(yuǎn)程服務(wù)器時(shí)無(wú)法使用: 此擴(kuò)展在此工作區(qū)中被禁用,因?yàn)槠浔欢x為在遠(yuǎn)程擴(kuò)展主機(jī)中運(yùn)行。請(qǐng)?jiān)?‘SSH: xxxxx‘ 中安裝擴(kuò)展以進(jìn)行啟用

    問(wèn)題如題,解決后的效果如下: 出問(wèn)題時(shí),在上圖中會(huì)出現(xiàn)一行小字“此擴(kuò)展在此工作區(qū)中被禁用,因?yàn)槠浔欢x為在遠(yuǎn)程擴(kuò)展主機(jī)中運(yùn)行。請(qǐng)?jiān)?‘SSH: xxxxx’ 中安裝擴(kuò)展以進(jìn)行啟用”。導(dǎo)致你ctrl點(diǎn)函數(shù)不會(huì)進(jìn)行跳轉(zhuǎn),也就是Python擴(kuò)展的功能完全沒用實(shí)現(xiàn),非常不方便。 具

    2024年02月07日
    瀏覽(259)
  • uniapp iOS 消息推送擴(kuò)展:后臺(tái)/殺死app進(jìn)程狀態(tài)能語(yǔ)音播報(bào)

    HBuilderX3.1.5+ 版本uni原生插件支持iOS Extension(擴(kuò)展)。 消息推送離線語(yǔ)音播報(bào)插件獲取方式: 公z號(hào):iOS逆向: 離線包x10, 源碼是x15。 實(shí)現(xiàn)原理: 獲取GroupIdentifier,用于保存本地拼接音頻。 將音頻文件寫到AppGroups的Library/Sounds文件夾下,最后更改UNNotificationSound屬性即可使通

    2024年02月14日
    瀏覽(20)
  • ABPvNext-微服務(wù)框架基礎(chǔ)入門

    ABPvNext-微服務(wù)框架基礎(chǔ)入門

    本文使用的是ABPvNext商業(yè)版 最新穩(wěn)定版本7.0.2為演示基礎(chǔ)的,后續(xù)如果更新,會(huì)單獨(dú)寫一篇最新版本的,此文為零基礎(chǔ)入門教程,后續(xù)相關(guān)代碼會(huì)同步更新到gitee倉(cāng)庫(kù)中。 1.登錄ABPvNext官網(wǎng) 網(wǎng)址 http://abp.io 2.跳轉(zhuǎn)到商業(yè)版的說(shuō)明文檔,目前商業(yè)版沒有中文,只能使用谷歌瀏覽器

    2023年04月14日
    瀏覽(46)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包