flink學習(加餐)——job任務狀態變化
我們來看一下flink官網的圖:
光看圖就頭暈了,我們可以來整理一下。
首先flink job任務狀態總共有:
- Created
- Running
- Finished
- Failed
- Canceled
- Failing
- Canceling
- Restarting
- Suspended
根據個人理解,我們可以把這些狀態分為四大類:
- 起始態
- 中間態
- 最終態
- 過渡態
起始態表示任務啟動時的狀態,中間態表示任務執行時的狀態,最終態表示任務最後的狀態,過渡態表示任務在上述這些狀態轉化時中間過渡的狀態。
這樣我們就把九個狀態歸類到四個狀態裡面去了:
狀態分類 | 狀態 |
---|---|
起始態 | Created |
中間態 | Running |
最終態 | Finished、Failed、Canceled |
過渡態 | Failing、Canceling、Restarting、Suspended |
再為了方便理解,我們先省略掉過渡態考慮任務執行變化情況。一個job如果正常執行,那麼它的狀態變化就是:
Created -> Running -> Finished
如果失敗,則是:
Created -> Failed
或
Created -> Running -> Failed
如果被取消了,則是:
Created -> Canceled
或
Created -> Running -> Canceled
總共狀態變化就這麼四種。
這時,我們再來考慮過渡態。因為Running -> Finished
是沒有中間態的,所以不用考慮過渡態。而對於Failed
和Canceled
來說,都有各自的過渡態Failing
和Canceling
。只需要在上述的變化鏈路中加上過渡態即可。
所以我們可以把狀態變化修改成:
失敗
Created -> Failing -> Failed
或
Created -> Running -> Failing -> Failed
取消
Created -> Canceling -> Canceled
或
Created -> Running -> Canceling -> Canceled
並且對於失敗任務來說,還有可能進行重啟,所以失敗的狀態變化還可以是:
Created -> Failing -> Restarting -> Created
或
Created -> Running -> Failing -> Restarting -> Created
最後,我們來看Suspended
。這個狀態很簡單,只要不是最終態,都可以轉換為Suspended
。
這樣我們基本把一個任務的狀態變化就給理清了,總共完整的狀態鏈路變化就五條:
成功
Created -> Running -> Finished
失敗
Created -> Failing -> Failed
Created -> Running -> Failing -> Failed
取消
Created -> Canceling -> Canceled
Created -> Running -> Canceling -> Canceled
另加兩條失敗重啟的迴圈鏈路:
失敗重啟
Created -> Failing -> Restarting -> Created
Created -> Running -> Failing -> Restarting -> Created
相關文章
- Serverless JOB | 傳統任務新變革Server
- Serverless JOB——傳統任務新變革Server
- Elastic-Job:動態新增任務,支援動態分片AST
- 狀態變化模式模式
- 事務狀態持久化持久化
- 任務的分解綜合狀態與單據
- Oracle 任務管理之 ----program(程式)---scheduler(計劃)--Job(任務)Oracle
- 前端學習任務四前端
- 今年的學習任務
- 基於websocket的celery任務狀態監控Web
- 從任務中心看狀態機功能元件設計元件
- Part 10: 任務項新增、修改和切換狀態
- Locust 任務巢狀巢狀
- Linux 任務控制(bg job fg nohup &)Linux
- job任務均不執行,手工執行報job now running
- Elastic Job學習AST
- 【LINUX學習】檢視當前所有服務的狀態Linux
- Flink Slot詳解與Job Execution Graph優化優化
- IDEA上執行Flink任務Idea
- 【任務】資訊檢索.MOOC學習
- 定時任務框架學習心得框架
- Oracle任務排程工具學習Oracle
- 基於函式的索引狀態變化函式索引
- flink 有狀態(stateful)的計算
- 深入理解Flink中的狀態
- 解密函式計算非同步任務能力之「任務的狀態及生命週期管理」解密函式非同步
- Flutter狀態管理--Getx學習2Flutter
- React學習筆記-State(狀態)React筆記
- Oracle診斷案例-Job任務停止執行Oracle
- spark核心(下)——job任務提交原始碼解析Spark原始碼
- Oracle 定時任務job實際應用Oracle
- oracle建立定時任務之dbms_jobOracle
- Oracle定時任務(DBMS_Job)詳解Oracle
- android狀態列一體化(改變狀態列的背景顏色)Android
- 【Flink入門修煉】2-2 Flink State 狀態
- [MySQL5.6]PerformanceSchema學習:命名規範、狀態變數及其他(2)MySqlORM變數
- Quartz job scheduler 學習quartz
- Flink Yarn的2種任務提交方式Yarn