乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Framework開發(fā)指南 三

       碼農(nóng)書館 2017-09-11
      故障處理
      怎樣搭建在故障時(shí)仍可用的Mesos frameworksseparate document中進(jìn)行討論。

      如何使用Executor



       使用Mesos Command Executor


      Mesos 提供了一個(gè)簡(jiǎn)單的executor它可以執(zhí)行shell命令和代表framework schedulerDocker container。足夠滿足各種各樣的框架的功能需求。
      任何scheduler都可以使用 Mesos command executor 通過填寫可選的CommandInfo 。TaskInfo protobuf 消息的成員
      message TaskInfo {
        ...
        optional CommandInfo command = 7;
        ...
      }
       
      當(dāng)Tasks被指定這種方式時(shí),Mesos slave將填寫ExecutorInfo 的剩余信息。

      創(chuàng)建自定義Framework Executor



      如果你的framework有特殊要求, 您可能希望提供您自己的Executor執(zhí)行程序。 例如,你可能不希望tasksprocesses之間1:1的關(guān)系 .
      你的framework executor 必須繼承于Executor.必須重構(gòu) launchTask() 方法。你也可以在executor使用 $MESOS_HOME環(huán)境變量來確定Mesos 可執(zhí)行程序的位置。

      Executor API


      聲名于 MESOS_HOME/include/mesos/executor.hpp
       
      /*
      *當(dāng)executor驅(qū)動(dòng)程序已成功連接Mesos時(shí)調(diào)用。特別是,一個(gè)Scheduler可以通過
      *FrameworkI*nfo.ExecutorInfo數(shù)據(jù)域傳遞一些到它的Executor。
      virtual void registered(ExecutorDriver* driver,
                              const ExecutorInfo& executorInfo,
                              const FrameworkInfo& frameworkInfo,
                              const SlaveInfo& slaveInfo);
       
      /*
      *當(dāng)executor和一個(gè)重新啟動(dòng)的slave重新注冊(cè)時(shí)調(diào)用.
      */
      virtual void reregistered(ExecutorDriver* driver, const SlaveInfo& slaveInfo);
      /*
      當(dāng)executorslave變?yōu)闊o連接時(shí)調(diào)用。
      * (例如,slave因更新而重啟時(shí)。).
      */
      virtual void disconnected(ExecutorDriver* driver);
       
      /*
      當(dāng)一個(gè)task 被發(fā)布到這個(gè)executor (通過Scheduler::launchTasks初始化的)時(shí)調(diào)用注意這個(gè)*task通過 一個(gè)線程、一個(gè)進(jìn)程或一些簡(jiǎn)單的計(jì)算然而,知道這個(gè)函數(shù)返回這個(gè)executor不會(huì)再
      *調(diào)用其他的回調(diào)函數(shù)。
      */
      virtual void launchTask(ExecutorDriver* driver, const TaskInfo& task);
       
      /*
      當(dāng)一個(gè)運(yùn)行于這個(gè)executor的Task終止(通過schedulerdriver::killtask)時(shí)調(diào)用。
      *注意狀態(tài)更新代表這個(gè)Executor被發(fā)送,這個(gè)Executor負(fù)責(zé)創(chuàng)建一個(gè)新的TaskStatus(注,帶 *TASK_KILLED標(biāo)志)并調(diào)用ExecutorDriver::sendStatusUpdate。
      */
      virtual void killTask(ExecutorDriver* driver, const TaskID& taskId);
       
      /*
      當(dāng) framework消息到達(dá)這個(gè)executor時(shí)調(diào)用這些消息的傳輸方式是盡力機(jī)制,不要期待framework消息以可靠方式重新轉(zhuǎn)發(fā)。
      */
      virtual void frameworkMessage(ExecutorDriver* driver, const std::string& data);
       
      /*
      *當(dāng)這個(gè)executor 要終止其上所有運(yùn)行的tasks時(shí)被調(diào)用.注意在 Mesos 確定這個(gè)
      *executor終止了所有這個(gè)executor沒有發(fā)送中止?fàn)顟B(tài)更新 (TASK_KILLED, TASK_FINISHED, *TASK_FAILED, 等標(biāo)志)tasks之后將產(chǎn)生TASK_LOST狀態(tài)更新.
      */
      virtual void shutdown(ExecutorDriver* driver);
       
      /*
      *當(dāng)executor或executor驅(qū)動(dòng)發(fā)生一個(gè)致命錯(cuò)誤時(shí)調(diào)用。在調(diào)用這個(gè)返回函數(shù)前,這個(gè)驅(qū)動(dòng)將終止 。
      */
      virtual void error(ExecutorDriver* driver, const std::string& message);

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多