91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

618 大促技術(shù)實(shí)踐:定時(shí)任務(wù)異常重試的探索與沉淀?

京東云 ? 來(lái)源:jf_75140285 ? 作者:jf_75140285 ? 2026-01-21 18:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在 618 大促的技術(shù)戰(zhàn)場(chǎng)上,每一行代碼、每一個(gè)配置都影響著一線的實(shí)實(shí)在在的業(yè)務(wù)。一次看似平常的發(fā)版,卻意外暴露了我們系統(tǒng)中的定時(shí)任務(wù)管理短板,這促使我們深入剖析分布式任務(wù)調(diào)度中異常重試機(jī)制的技術(shù)細(xì)節(jié),并最終將其轉(zhuǎn)化為守護(hù)系統(tǒng)穩(wěn)定性的堅(jiān)固防線。?

一、異常事件回溯:隱藏在發(fā)版背后的定時(shí)炸彈?

發(fā)版次日,業(yè)務(wù)部門反饋商家未收到門店收貨明細(xì)郵件,導(dǎo)致門店收貨業(yè)務(wù)收到影響。技術(shù)團(tuán)隊(duì)迅速啟動(dòng)應(yīng)急流程,通過(guò)全鏈路日志追蹤和系統(tǒng)狀態(tài)分析,發(fā)現(xiàn)了問(wèn)題的根源是:發(fā)版過(guò)程中,由于服務(wù)重啟,中斷了定時(shí)任務(wù)進(jìn)程,正在執(zhí)行的郵件發(fā)送任務(wù)被意外終止。而該任務(wù)在管理平臺(tái)上并未配置任何重試策略,業(yè)務(wù)代碼上也沒(méi)有進(jìn)行相關(guān)的檢測(cè)和重試,這就導(dǎo)致任務(wù)失敗后無(wú)法自動(dòng)恢復(fù)執(zhí)行,也未被及時(shí)感知到,進(jìn)而引發(fā)業(yè)務(wù)阻斷。?

為解決燃眉之急,研發(fā)人員立即登錄任務(wù)管理平臺(tái),手工觸發(fā)郵件發(fā)送任務(wù),確保業(yè)務(wù)及時(shí)恢復(fù)。但這次事件給我們敲響了警鐘:在分布式任務(wù)調(diào)度場(chǎng)景下,面對(duì)網(wǎng)絡(luò)抖動(dòng)、進(jìn)程異常終止等場(chǎng)景,異常重試機(jī)制是保障業(yè)務(wù)可靠性的關(guān)鍵。?

二、重試策略設(shè)計(jì):從理論到代碼的深度解析?

2.1 驗(yàn)證EasyJob的重試策略

在復(fù)盤問(wèn)題的過(guò)程中,我們發(fā)現(xiàn)了EasyJob分布式任務(wù)是具有重試策略的,只是默認(rèn)不開啟,而不是默認(rèn)開啟。

wKgZO2lwqcuAOeQiAACLF2v3JKk941.png

該策略以三個(gè)核心參數(shù)為基礎(chǔ):首次重試間隔時(shí)間 F、重試間隔乘數(shù) M 和最大重試次數(shù) C。

通過(guò)這三個(gè)參數(shù)的組合,我們可以靈活控制任務(wù)重試節(jié)奏,平衡系統(tǒng)負(fù)載與任務(wù)恢復(fù)效率。?

例如:配置t=10s, M=2, C=10,則間隔時(shí)間依次是:

重試次數(shù) nn 間隔時(shí)間計(jì)算方式 間隔時(shí)間結(jié)果
1 10s(初始間隔,無(wú)計(jì)算) 10s
2 10s×2 20s
3 20s×2 40s
4 40s×2 80s
5 80s×2 160s

驗(yàn)證日志:

21:45:29.990 [main-schedule-worker-pool-1-thread-1] INFO  cn.jdl.tech_and_data.EmailSendingTask - 開始執(zhí)行發(fā)送郵件任務(wù)
21:45:40.204 [main-schedule-worker-pool-1-thread-2] INFO  cn.jdl.tech_and_data.EmailSendingTask - 開始執(zhí)行發(fā)送郵件任務(wù)
21:46:00.674 [main-schedule-worker-pool-1-thread-3] INFO  cn.jdl.tech_and_data.EmailSendingTask - 開始執(zhí)行發(fā)送郵件任務(wù)
21:46:41.749 [main-schedule-worker-pool-1-thread-4] INFO  cn.jdl.tech_and_data.EmailSendingTask - 開始執(zhí)行發(fā)送郵件任務(wù)
21:48:02.398 [main-schedule-worker-pool-1-thread-5] INFO  cn.jdl.tech_and_data.EmailSendingTask - 開始執(zhí)行發(fā)送郵件任務(wù)
21:50:43.008 [main-schedule-worker-pool-1-thread-1] INFO  cn.jdl.tech_and_data.EmailSendingTask - 開始執(zhí)行發(fā)送郵件任務(wù)

任務(wù)序號(hào) 開始時(shí)間 與前一任務(wù)的間隔
第 1 個(gè)任務(wù) 21:45:29.990 -
第 2 個(gè)任務(wù) 21:45:40.204 10.214 秒
第 3 個(gè)任務(wù) 21:46:00.674 20.47 秒
第 4 個(gè)任務(wù) 21:46:41.749 41.075 秒
第 5 個(gè)任務(wù) 21:48:02.398 80.649 秒(約 1 分 20.65 秒)
第 6 個(gè)任務(wù) 21:50:43.008 160.61 秒(約 2 分 40.61 秒)

與上面計(jì)算的一致。

驗(yàn)證方案:

1、實(shí)現(xiàn)接口:com.wangyin.schedule.client.job.ScheduleFlowTask,并設(shè)置任務(wù)返回失?。?/p>

wKgZPGlwqcuAYwaiAAGTTki-K70246.png

2、創(chuàng)建CRON觸發(fā)器

wKgZO2lwqcyAVRahAAFPmAjiAOE268.png

3、設(shè)置自動(dòng)重試參數(shù)

wKgZPGlwqc2AYCZRAAFmPUXhWK8032.png

wKgZO2lwqc2ATNlwAABR8kEQqoU722.png

4、暫停任務(wù)并手工觸發(fā)一次

wKgZPGlwqc6AdvOIAADkMSutJ5E726.png

2.2 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的重試策略

根據(jù)上述策略,簡(jiǎn)單實(shí)現(xiàn)了一個(gè)靈活可配置的任務(wù)重試機(jī)制。

public class TaskRetryExecutor {
    @Getter
    private final ScheduledExecutorService executor = newScheduledThreadPool(10);
    private final long firstRetryInterval;
    private final int intervalMultiplier;
    private final int maxRetryCount;

    public TaskRetryExecutor(long firstRetryInterval, int intervalMultiplier, int maxRetryCount) {
        this.firstRetryInterval = firstRetryInterval;
        this.intervalMultiplier = intervalMultiplier;
        this.maxRetryCount = maxRetryCount;
    }

    public void submitRetryableTask(Runnable task) {
        executeWithRetry(task, 1);
    }

    private void executeWithRetry(Runnable task, int currentRetryCount) {
        executor.schedule(() -> {
            try {
                task.run();
                log.info("任務(wù)在第{}次嘗試時(shí)成功執(zhí)行", currentRetryCount);
            } catch (Exception e) {
                log.error("任務(wù)在第{}次嘗試時(shí)執(zhí)行失敗", currentRetryCount, e);
                if (currentRetryCount <= maxRetryCount) {
                    long delay = calculateRetryDelay(currentRetryCount);
                    log.info("計(jì)劃在{}毫秒后進(jìn)行第{}次重試", delay, currentRetryCount);
                    executeWithRetry(task, currentRetryCount + 1);
                } else {
                    log.error("超過(guò)最大重試次數(shù)。任務(wù)執(zhí)行最終失敗。");
                }
            }
        }, currentRetryCount == 1 ? 0 : calculateRetryDelay(currentRetryCount), TimeUnit.MILLISECONDS);
    }

    public long calculateRetryDelay(int retryCount) {
        if (retryCount == 1) {
            return firstRetryInterval;
        } else if (retryCount > 1 && retryCount <= maxRetryCount) {
            long previousDelay = calculateRetryDelay(retryCount - 1);
            return previousDelay * intervalMultiplier;
        }
        return -1; // 超出最大重試次數(shù),返回錯(cuò)誤標(biāo)識(shí)
    }
}

?在上述代碼中:

1.TaskRetryExecutor類封裝了任務(wù)重試的核心邏輯。構(gòu)造函數(shù)接收三個(gè)關(guān)鍵參數(shù):firstRetryInterval、intervalMultiplier和maxRetryCount,用于配置重試策略,對(duì)應(yīng)于EasyJob的F、M、C參數(shù)。

2.submitRetryableTask方法接收一個(gè)可執(zhí)行任務(wù),并啟動(dòng)重試流程。它調(diào)用executeWithRetry方法,初始重試次數(shù)為1。

3.executeWithRetry方法是重試邏輯的核心。它使用ScheduledExecutorService來(lái)調(diào)度任務(wù)執(zhí)行:

?如果任務(wù)執(zhí)行成功,記錄成功日志。

??如果任務(wù)執(zhí)行失敗且未超過(guò)最大重試次數(shù),計(jì)算下一次重試的延遲時(shí)間,并遞歸調(diào)用自身進(jìn)行重試。

??如果超過(guò)最大重試次數(shù),記錄最終失敗日志。

4.calculateRetryDelay方法實(shí)現(xiàn)了重試間隔的計(jì)算規(guī)則:

?第一次重試使用firstRetryInterval。

?之后的重試間隔是前一次間隔乘以intervalMultiplier。

?如果超出最大重試次數(shù),返回-1表示錯(cuò)誤。

通過(guò)這種設(shè)計(jì),我們實(shí)現(xiàn)了一個(gè)可復(fù)用、可配置的任務(wù)重試機(jī)制。它能夠根據(jù)配置的參數(shù)自動(dòng)調(diào)整重試間隔,在任務(wù)失敗時(shí)進(jìn)行有策略的重試,同時(shí)避免無(wú)限重試導(dǎo)致的資源浪費(fèi)。

詳細(xì)代碼可在以下Git倉(cāng)庫(kù)中找到:git@coding.jd.com:newJavaEngineerOrientation/TaskRetryStrategies.git

2.3 重試策略的理論分析

2.3.1 EasyJob對(duì)乘數(shù)和最大重試次數(shù)的限制

在對(duì)EasyJob也進(jìn)行了重試的驗(yàn)證中發(fā)現(xiàn):

1.每次重做的乘數(shù)取值范圍是[1,8],可以是具有一位小數(shù)位的浮點(diǎn)數(shù),比如3.5,

2.最多重做次數(shù)是[1,16]間的整數(shù),第一次重試的間隔沒(méi)有限制,單位是秒。

wKgZO2lwqc-ACO7aAABJAe65RVI089.png

2.3.2 梯度分析

通過(guò)上面的驗(yàn)證和重試相關(guān)概念的定義,可以得到:第n次重試的間隔時(shí)間=第一次間隔時(shí)間*乘數(shù)^(n-1),即:

wKgZPGlwqc-AOcT4AAATC_QVeIE117.png

其中:

wKgZO2lwqdCAJ3QSAACjMe7lY8o552.png

對(duì)乘數(shù)M的梯度:

wKgZPGlwqdCAKFRdAAA2xLbEicA973.png

對(duì)重試次數(shù)n的梯度:

wKgZO2lwqdGAeJ3-AAAyy_Tn6xM481.png

詳細(xì)推導(dǎo): http://xingyun.jd.com/codingRoot/newJavaEngineerOrientation/TaskRetryStrategies/blob/master/src/main/resources/%E5%85%AC%E5%BC%8F%E6%8E%A8%E5%AF%BC.md

從下圖可以看出,重試次數(shù)n較大時(shí)(比如8),乘數(shù) M 的細(xì)微變化都會(huì)導(dǎo)致,任務(wù)的間隔時(shí)間發(fā)生劇烈變化,因此n超過(guò)8之后,M基本不可調(diào)。

wKgZPGlwqdOAfPd0AAfL8Q9I66g443.png

同樣的,從下圖可以看到,乘數(shù)M較大時(shí)(比如4),n的細(xì)微變化也會(huì)導(dǎo)致任務(wù)的間隔時(shí)間爆發(fā)式的增加。

wKgZO2lwqdWAfPmvAAgnK_L1TwE785.png

1、乘數(shù)在1.5-4 的合理性

過(guò)小乘數(shù) (<1.5) 的問(wèn)題:

當(dāng)乘數(shù) = 1.2,重試 10 次的間隔時(shí)間是:1次:1, 2次:1.2, 3次:1.44, ..., 10次:5.16,

10 次重試總間隔僅 5 倍,接近固定間隔,可能導(dǎo)致 "驚群效應(yīng)"(大量請(qǐng)求同時(shí)重試)。

過(guò)大乘數(shù) (>4) 的問(wèn)題

當(dāng)乘數(shù) = 8,重試 5 次的間隔時(shí)間:1次:1, 2次:8, 3次:64, 4次:512, 5次:4096

5 次重試后間隔已超 1 小時(shí)(假設(shè)初始間隔時(shí)間是最小的1s,4096s>1小時(shí)),可能導(dǎo)致請(qǐng)求長(zhǎng)時(shí)間等待,用戶體驗(yàn)差。

因此,乘數(shù) = 1.5-4 在 "退避效率" 和 "資源消耗" 間取得平衡,一般取乘數(shù)= 2 (標(biāo)準(zhǔn)指數(shù)退避)。

行業(yè)實(shí)踐:AWS SDK 默認(rèn)乘數(shù) = 2,Google gRPC 重試策略推薦乘數(shù) = 1.5-3,多數(shù) HTTP 客戶端庫(kù) (如 requests) 默認(rèn)乘數(shù) = 2。

2、最大重試次數(shù)3-10的合理性

假設(shè)單次重試成功概率為P(比如網(wǎng)絡(luò)/服務(wù)臨時(shí)故障,重試成功概率通常較高),重試 n次至少成功 1 次的概率為:

wKgZPGlwqdaARJINAAA9Slly32Q913.png

當(dāng) p=0.5,(單次重試 50% 成功概率):

n=3 時(shí),成功概率 =1?(0.5)^3=87.5%

n=5 時(shí),成功概率 =1?(0.5)^5=96.875%

n=10 時(shí),成功概率 =1?(0.5)^10≈99.9%

實(shí)際場(chǎng)景中,臨時(shí)故障的單次成功概率遠(yuǎn)高于 50%(比如網(wǎng)絡(luò)抖動(dòng)重試成功概率可能達(dá) 80%)

若 p=0.8,n=3時(shí)成功概率已達(dá) 1?0.2^3=99.2%幾乎覆蓋所有臨時(shí)故障。

因此,3 - 10 次重試,能以極高概率(99%+)覆蓋“臨時(shí)故障”場(chǎng)景,再增加次數(shù)對(duì)成功概率提升極有限(邊際效應(yīng)遞減)。

因?yàn)橐阎娜蝿?wù)延遲時(shí)間的公式是:

wKgZPGlwqc-AOcT4AAATC_QVeIE117.png

,

n從1到C進(jìn)行累加得到總耗時(shí):

wKgZPGlwqdaAeXU-AAAqYzvPZZU546.png

,

根據(jù)等比數(shù)列求和公式可以得到:

wKgZO2lwqdeAFbzIAAAh_MoiqEI357.png

令 M=2(常用乘數(shù)),F(xiàn)=1 秒(最小可能值):

n=3時(shí),T=(2^3-1)/(2-1)=7秒

n=5時(shí),T=(2^5-1)/(2-1)=31秒

n=10時(shí),T=2^10-1=1023秒≈17分鐘

n=13時(shí),T=2^13-1≈2.3小時(shí)

n=15時(shí),T=2^15-1≈9.1小時(shí)

當(dāng)n超過(guò)10后,每次增加都會(huì)導(dǎo)致總耗時(shí)急劇增長(zhǎng),很容易超過(guò)業(yè)務(wù)的容忍上限(具體業(yè)務(wù)具體分析),也可能因?yàn)橹卦囘^(guò)多,導(dǎo)致被調(diào)用的系統(tǒng)壓力增加,甚至造成系統(tǒng)崩潰。

故:3 - 10 次重試可將總耗時(shí)控制在“業(yè)務(wù)可接受范圍”(幾秒到十幾分鐘),同時(shí)避免資源過(guò)載。

行業(yè)實(shí)踐:Kafka 消費(fèi)者重試:默認(rèn) 10 次、Redis 客戶端重試:默認(rèn) 5 次、Hadoop 任務(wù)重試:默認(rèn) 3-5 次、RFC 建議:RFC 6582(HTTP 重試)建議:3-5 次重試。

3、最佳實(shí)踐速查表

參數(shù) 短期任務(wù)(分鐘級(jí)) 中期任務(wù)(小時(shí)級(jí)) 長(zhǎng)期任務(wù)(天級(jí))
乘數(shù) 2 2 1.75
重試次數(shù) 3 - 5 5 - 8 8 - 12
初始間隔(秒) 1 - 5 30 - 60 300 - 600
總耗時(shí)范圍 <60秒 5 - 10分鐘 1 - 2小時(shí)
適用場(chǎng)景 臨時(shí)網(wǎng)絡(luò)波動(dòng) 服務(wù)重啟、發(fā)版 服務(wù)短暫過(guò)載 資源密集型操作

三、經(jīng)驗(yàn)沉淀:異常重試機(jī)制的設(shè)計(jì)原則?

通過(guò)這次實(shí)踐和對(duì)行業(yè)方案的研究,我們總結(jié)出異常重試機(jī)制設(shè)計(jì)的四大核心原則:?

1.動(dòng)態(tài)適應(yīng)性原則:重試策略應(yīng)支持參數(shù)化配置,根據(jù)業(yè)務(wù)場(chǎng)景和系統(tǒng)負(fù)載動(dòng)態(tài)調(diào)整重試間隔和次數(shù),避免 “一刀切” 的重試策略對(duì)系統(tǒng)造成沖擊。?

2.冪等性保障原則:確保任務(wù)在多次重試過(guò)程中不會(huì)產(chǎn)生重復(fù)數(shù)據(jù)或副作用,通過(guò)唯一標(biāo)識(shí)、狀態(tài)機(jī)等技術(shù)手段,實(shí)現(xiàn)任務(wù)的冪等執(zhí)行。?

3.故障隔離原則:將重試邏輯與業(yè)務(wù)邏輯分離,通過(guò)消息隊(duì)列、異步調(diào)度等方式,降低重試操作對(duì)主線程的影響,避免因重試失敗導(dǎo)致系統(tǒng)整體崩潰。?

4.可觀測(cè)性原則:建立完善的監(jiān)控和告警體系,實(shí)時(shí)追蹤任務(wù)重試狀態(tài),在達(dá)到最大重試次數(shù)時(shí)及時(shí)發(fā)出告警,便于運(yùn)維人員快速定位和解決問(wèn)題。?

四、結(jié)語(yǔ):以技術(shù)沉淀筑牢大促防線?

這次線上異常事件,猶如一面鏡子,讓我們清晰地看到了系統(tǒng)中的潛在風(fēng)險(xiǎn),也為我們提供了一次寶貴的技術(shù)提升機(jī)會(huì)。通過(guò)對(duì)異常重試機(jī)制的深入研究和實(shí)踐,我們不僅解決了當(dāng)前問(wèn)題,更將這些經(jīng)驗(yàn)轉(zhuǎn)化為團(tuán)隊(duì)的技術(shù)資產(chǎn)。在未來(lái)的 618 大促及其他關(guān)鍵業(yè)務(wù)場(chǎng)景中,我們將以更完善的技術(shù)方案、更嚴(yán)謹(jǐn)?shù)脑O(shè)計(jì)原則,守護(hù)系統(tǒng)的穩(wěn)定運(yùn)行,為業(yè)務(wù)發(fā)展提供堅(jiān)實(shí)的技術(shù)保障。

?審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 分布式
    +關(guān)注

    關(guān)注

    1

    文章

    1097

    瀏覽量

    76647
  • 任務(wù)調(diào)度
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    10206
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于知識(shí)工程JoyAgent雙RAG的智能代碼評(píng)審系統(tǒng)的探索實(shí)踐

    備戰(zhàn)中的代碼評(píng)審困境與破局 雙十一大是系統(tǒng)穩(wěn)定性的終極“大考”。為規(guī)避上線風(fēng)險(xiǎn),技術(shù)側(cè)會(huì)啟動(dòng)系統(tǒng)封板管控,主動(dòng)將非緊急需求的發(fā)布窗口前置。這一舉措在保障系統(tǒng)穩(wěn)定性的同時(shí),也必然導(dǎo)致研發(fā)需求
    的頭像 發(fā)表于 01-21 18:26 ?2128次閱讀
    基于知識(shí)工程JoyAgent雙RAG的智能代碼評(píng)審系統(tǒng)的<b class='flag-5'>探索</b>與<b class='flag-5'>實(shí)踐</b>

    基于知識(shí)工程&amp;JoyAgent雙RAG的智能代碼評(píng)審系統(tǒng)的探索實(shí)踐

    備戰(zhàn)中的代碼評(píng)審困境與破局 雙十一大是系統(tǒng)穩(wěn)定性的終極“大考”。為規(guī)避上線風(fēng)險(xiǎn),技術(shù)側(cè)會(huì)啟動(dòng)系統(tǒng)封板管控,主動(dòng)將非緊急需求的發(fā)布窗口前置。這一舉措在保障系統(tǒng)穩(wěn)定性的同時(shí),也必然導(dǎo)致研發(fā)需求
    的頭像 發(fā)表于 01-15 15:12 ?217次閱讀
    基于知識(shí)工程&amp;JoyAgent雙RAG的智能代碼評(píng)審系統(tǒng)的<b class='flag-5'>探索</b>與<b class='flag-5'>實(shí)踐</b>

    探索HMC618ALP3E:高性能低噪聲放大器的卓越之選

    探索HMC618ALP3E:高性能低噪聲放大器的卓越之選 在電子設(shè)備的設(shè)計(jì)中,低噪聲放大器(LNA)扮演著至關(guān)重要的角色,尤其是在對(duì)信號(hào)質(zhì)量要求極高的無(wú)線通信領(lǐng)域。今天,我們就來(lái)深入了解一款出色
    的頭像 發(fā)表于 01-04 14:40 ?240次閱讀

    看門狗定時(shí)器、復(fù)位源、異常處理機(jī)制科普

    在嵌入式開發(fā)中,系統(tǒng)一旦“跑飛”,工程師最怕的不是bug,而是程序卡死無(wú)人知。這時(shí),芯片自身的自我保護(hù)機(jī)制就至關(guān)重要??撮T狗、復(fù)位源和異常處理機(jī)制,是保證系統(tǒng)可靠性的三大基石。本文帶你梳理清楚它們
    的頭像 發(fā)表于 11-17 10:53 ?1436次閱讀
    看門狗<b class='flag-5'>定時(shí)</b>器、復(fù)位源、<b class='flag-5'>異常</b>處理機(jī)制科普

    Crontab定時(shí)任務(wù)完全指南

    在凌晨3點(diǎn),當(dāng)大多數(shù)人還在熟睡時(shí),一位運(yùn)維工程師的手機(jī)突然響起——線上數(shù)據(jù)庫(kù)備份失敗了。他匆忙起床,打開電腦,手動(dòng)執(zhí)行備份腳本,整個(gè)過(guò)程耗時(shí)2小時(shí)。這樣的場(chǎng)景,在我剛?cè)胄袝r(shí)經(jīng)常遇到。直到我真正掌握了crontab定時(shí)任務(wù),才徹底擺脫了"人肉運(yùn)維"的窘境。
    的頭像 發(fā)表于 09-05 10:03 ?922次閱讀

    基于 AS32X601 微控制器的定時(shí)器模塊(TIM)技術(shù)研究與應(yīng)用實(shí)踐

    摘要: 本文全面介紹了國(guó)科安芯推出的AS32X601系列微控制器的定時(shí)器模塊(TIM),包括其系統(tǒng)架構(gòu)、功能特性、應(yīng)用場(chǎng)景以及工程實(shí)踐要點(diǎn)。通過(guò)對(duì)芯片的詳細(xì)分析,揭示了其高性能運(yùn)行的基礎(chǔ)。本文詳細(xì)
    的頭像 發(fā)表于 08-19 16:44 ?893次閱讀

    使用C#實(shí)現(xiàn)西門子PLC數(shù)據(jù)定時(shí)讀取保存

    在平時(shí)開發(fā)中,我們時(shí)常會(huì)遇到需要后臺(tái)靜默運(yùn)行的應(yīng)用場(chǎng)景,這些程序不需要用戶的直接操作或界面展示,而是專注于定時(shí)任務(wù)的執(zhí)行。比如說(shuō),我們需要定期從西門子PLC(可編程邏輯控制器)中讀取數(shù)據(jù)并進(jìn)行保存,以便后續(xù)分析使用。
    的頭像 發(fā)表于 08-07 16:17 ?2526次閱讀
    使用C#實(shí)現(xiàn)西門子PLC數(shù)據(jù)<b class='flag-5'>定時(shí)</b>讀取保存

    618結(jié)束,安防攝像頭市場(chǎng)戰(zhàn)況何如?

    618活動(dòng)結(jié)束,安防領(lǐng)域產(chǎn)品銷量增長(zhǎng)。
    的頭像 發(fā)表于 06-30 17:21 ?1043次閱讀

    商湯科技元蘿卜AI下棋機(jī)器人618回顧

    在剛剛落幕的2025年京東618中,元蘿卜交出了一份亮眼的成績(jī)單。
    的頭像 發(fā)表于 06-27 17:12 ?1536次閱讀

    機(jī)器學(xué)習(xí)異常檢測(cè)實(shí)戰(zhàn):用Isolation Forest快速構(gòu)建無(wú)標(biāo)簽異常檢測(cè)系統(tǒng)

    本文轉(zhuǎn)自:DeepHubIMBA無(wú)監(jiān)督異常檢測(cè)作為機(jī)器學(xué)習(xí)領(lǐng)域的重要分支,專門用于在缺乏標(biāo)記數(shù)據(jù)的環(huán)境中識(shí)別異常事件。本文深入探討異常檢測(cè)技術(shù)的理論基礎(chǔ)與
    的頭像 發(fā)表于 06-24 11:40 ?1479次閱讀
    機(jī)器學(xué)習(xí)<b class='flag-5'>異常</b>檢測(cè)實(shí)戰(zhàn):用Isolation Forest快速構(gòu)建無(wú)標(biāo)簽<b class='flag-5'>異常</b>檢測(cè)系統(tǒng)

    德施曼618首戰(zhàn)全平臺(tái)銷額、銷量雙冠軍!京東天貓官榜第一!

    5月13日晚,各大電商618拉開序幕,相比往年再度提前。高端智能鎖領(lǐng)軍品牌德施曼現(xiàn)貨開售第一天勇奪全平臺(tái)智能鎖銷額&銷量雙冠軍!高端智能鎖銷額&銷量冠軍!其中,德施曼穩(wěn)居京東智能
    的頭像 發(fā)表于 06-19 12:32 ?933次閱讀
    德施曼<b class='flag-5'>618</b>首戰(zhàn)全平臺(tái)銷額、銷量雙冠軍!京東天貓官榜第一!

    HarmonyOS優(yōu)化應(yīng)用文件上傳下載慢問(wèn)題性能優(yōu)化一

    。調(diào)試模式可打印所有內(nèi)存修改、磁盤、網(wǎng)絡(luò)讀寫、邏輯分支等日志。發(fā)布模式下除了導(dǎo)致任務(wù)失敗、服務(wù)異常的日志,其余日志都會(huì)關(guān)閉。 任務(wù)失敗重試:對(duì)于不可恢復(fù)的原因,直接失??;對(duì)于可恢復(fù)的原
    發(fā)表于 05-26 15:50

    德施曼618首戰(zhàn)全平臺(tái)銷額、銷量雙冠軍!京東天貓官榜第一!

    5月13日晚,各大電商618拉開序幕,相比往年再度提前。高端智能鎖領(lǐng)軍品牌德施曼現(xiàn)貨開售第一天勇奪全平臺(tái)智能鎖銷額&銷量雙冠軍!高端智能鎖銷額&銷量冠軍!其中,德施曼穩(wěn)居京東智能
    的頭像 發(fā)表于 05-14 16:08 ?1623次閱讀
    德施曼<b class='flag-5'>618</b>首戰(zhàn)全平臺(tái)銷額、銷量雙冠軍!京東天貓官榜第一!

    555定時(shí)器設(shè)計(jì)異常現(xiàn)象

    課程需要搭建一個(gè)555定時(shí)器電路,使用的eda工具是Cadence Spectre ic618,其中比較器和RS鎖存器以及其他邏輯電路均為cmos電路,而放電管為bjt,現(xiàn)在進(jìn)行直流仿真后發(fā)現(xiàn)vdd
    發(fā)表于 04-12 00:25

    linux服務(wù)器挖礦病毒處理方案

    情況說(shuō)明:挖礦進(jìn)程被隱藏(CPU占用50%,htop/top卻看不到異常進(jìn)程),結(jié)束挖礦進(jìn)程后馬上又會(huì)運(yùn)行起來(lái)(crontab -l查看發(fā)現(xiàn)沒(méi)有定時(shí)任務(wù))。
    的頭像 發(fā)表于 04-09 10:33 ?1321次閱讀
    linux服務(wù)器挖礦病毒處理方案