真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在storm應(yīng)用中實(shí)現(xiàn)定時(shí)調(diào)度

這篇文章給大家介紹如何在storm應(yīng)用中實(shí)現(xiàn)定時(shí)調(diào)度,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、南陽(yáng)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為南陽(yáng)等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

    在storm中實(shí)時(shí)定時(shí)調(diào)度, 較好的方式是利用spout的nextTuple()不斷循環(huán)觸發(fā)你的定時(shí)任務(wù)。

    首先, 把需要定時(shí)調(diào)度的邏輯用一個(gè)bolt實(shí)現(xiàn),其execute方法的偽代碼如下:

    // 從topology的全局對(duì)象 backtype.storm.Config取得上次調(diào)度時(shí)間
    Date 上次調(diào)度時(shí)間 = config.get("上次調(diào)度時(shí)間");

    if ( 如果當(dāng)前時(shí)間 - 上次調(diào)度時(shí)間 >= 調(diào)度間隔 ) {
	 
        // 執(zhí)行具體業(yè)務(wù)邏輯
        doTask();
              
        // 將本次執(zhí)行時(shí)間存入全局對(duì)象 backtype.storm.Config
        config.put("上次調(diào)度時(shí)間", 當(dāng)前時(shí)間);
    } 	

    然后, 定義一個(gè)專門的定時(shí)發(fā)送消息的spout,如以下每隔8秒發(fā)送一條消息:

    @Override
    public void nextTuple() {
        try {
            Thread.sleep(8 * 1000);
            collector.emit(new Values("Let's go!"));
        } catch (Exception e) {
            log.error("", e);
        }
    }

     這個(gè)spout發(fā)出的消息沒(méi)有任何業(yè)務(wù)意義,只是為了觸發(fā)上面的bolt。

 補(bǔ)充說(shuō)明,如果以上代碼在執(zhí)行 config.put() 時(shí)拋出異常 “storm Async loop died!” , 那就改為用redis保存最近一次的執(zhí)行時(shí)間。

關(guān)于如何在storm應(yīng)用中實(shí)現(xiàn)定時(shí)調(diào)度就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


本文題目:如何在storm應(yīng)用中實(shí)現(xiàn)定時(shí)調(diào)度
分享鏈接:http://weahome.cn/article/psicdc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部