Monitor job
Theo dõi các lần chạy
Mở trang chi tiết job và chọn tab Run. Bảng lịch sử chạy thường hiển thị:
- Run ID: mã định danh của lần chạy.
- Run type:
schedulednếu chạy theo lịch hoặc loại chạy tương ứng. - Status: trạng thái thực thi, ví dụ Success, Failed hoặc đang xử lý.
- Duration: thời lượng chạy.
- Start date: thời điểm bắt đầu.
Nhấn Refresh để cập nhật dữ liệu. Chọn một Run ID để xem thông tin chi tiết của lần chạy.
Xem trạng thái job run
Trong chi tiết một Job Run, kiểm tra trạng thái tổng thể của Job Run để biết job đang chờ, đang chạy, tạm dừng, thành công hay thất bại.
Các trạng thái của Job/Run:
| Status | Ý nghĩa | Mô tả |
|---|---|---|
| Queued | Đang chờ chạy | Job đã được tạo và đang chờ tài nguyên hoặc chờ đến lượt thực thi. |
| Running | Đang chạy | Job đang được hệ thống thực thi. |
| Paused | Tạm dừng | Job hoặc lịch chạy đã được tạm dừng. Hệ thống sẽ không khởi tạo các lần chạy mới cho đến khi được tiếp tục. |
| Success | Thành công | Job đã hoàn thành thành công và tất cả các tác vụ được thực thi đúng như mong đợi. |
| Failed | Thất bại | Job kết thúc do xảy ra lỗi trong quá trình thực thi. |
Luồng thay đổi status của Job/Run
- Job được kích hoạt theo lịch hoặc bằng Run Now và chuyển sang Queued khi đang chờ tài nguyên hoặc lượt thực thi.
- Khi hệ thống bắt đầu thực thi, status chuyển sang Running.
- Nếu tất cả task hoàn tất thành công, Job/Run chuyển sang Success.
- Nếu một task hoặc bước xử lý không thể hoàn tất, Job/Run chuyển sang Failed.
- Nếu job hoặc lịch chạy bị tạm dừng trước khi tạo Run mới, job chuyển sang Paused. Khi được kích hoạt lại, job có thể tiếp tục nhận các lần chạy theo lịch.
Luồng thông thường: Queued -> Running -> Success hoặc Failed. Paused là trạng thái quản lý job/lịch và không phải là kết quả thành công hay thất bại của một task.
Sơ đồ luồng Job/Run:
flowchart LR
A[Trigger theo lịch hoặc Run Now] --> B[Queued]
B --> C[Running]
C --> D{Kết quả thực thi}
D -->|Tất cả task thành công| E[Success]
D -->|Có task hoặc bước xử lý lỗi| F[Failed]
P[Pause job hoặc lịch chạy] --> G[Paused]
G -->|Activate| A
Xem trạng thái task
Mỗi task trong một Run được tạo thành một Task Instance. Task Instance là một lần thực thi cụ thể của task và có status riêng, giúp xác định task đang ở giai đoạn nào trong vòng đời.
Các trạng thái của Task Instance:
| Status | Ý nghĩa | Mô tả |
|---|---|---|
none | Chưa sẵn sàng | Dependency của task chưa đáp ứng nên task chưa được đưa vào hàng đợi. |
scheduled | Đã lập lịch | Scheduler xác định task đủ điều kiện để chạy. |
queued | Đang chờ worker | Task đã được gán cho Executor và đang chờ worker. |
running | Đang chạy | Task đang được thực thi. |
success | Thành công | Task hoàn tất không có lỗi. |
restarting | Đang khởi động lại | Task đang chạy và được yêu cầu khởi động lại. |
failed | Thất bại | Task gặp lỗi khi thực thi. |
skipped | Đã bỏ qua | Task bị bỏ qua do branching hoặc điều kiện tương tự. |
upstream_failed | Task trước thất bại | Task không chạy vì task tiền nhiệm thất bại. |
up_for_retry | Chờ thử lại | Task thất bại nhưng vẫn còn lượt retry. |
up_for_reschedule | Chờ lập lịch lại | Sensor đang chờ lần kiểm tra tiếp theo. |
deferred | Đã trì hoãn | Task đang chờ trigger hoặc điều kiện tiếp theo. |
awaiting_input | Chờ người dùng nhập | Task đang chờ phản hồi của người dùng. |
removed | Đã bị xóa | Task không còn trong cấu hình job khi Run bắt đầu. |
Luồng thay đổi status của Task Instance
- none: Task Instance được tạo nhưng chưa đủ điều kiện chạy, thường do đang chờ dependency.
- scheduled: Scheduler xác nhận dependency đã đáp ứng và đưa task vào kế hoạch thực thi.
- queued: Task được chuyển cho Executor và chờ worker hoặc tài nguyên Compute.
- running: Worker bắt đầu thực thi task.
- Khi task hoàn tất không có lỗi, status chuyển sang success.
- Nếu task phát sinh lỗi và còn lượt thử lại, status chuyển sang up_for_retry, sau đó quay lại scheduled khi được lập lịch lại.
- Nếu hết lượt retry hoặc lỗi không được phép thử lại, status chuyển sang failed.
- Nếu dependency không đạt trigger rule, task chuyển sang upstream_failed; nếu logic điều kiện yêu cầu bỏ qua, task chuyển sang skipped.
- Sensor có thể chuyển sang up_for_reschedule để chờ lần kiểm tra tiếp theo. Task chờ sự kiện bên ngoài có thể ở deferred, còn task cần phản hồi người dùng ở awaiting_input.
- Task đang chạy có thể chuyển sang restarting khi có yêu cầu khởi động lại từ bên ngoài. Task đã bị xóa khỏi cấu hình sau khi Run bắt đầu sẽ ở removed.
Các nhánh thường gặp:
- Thành công:
none->scheduled->queued->running->success. - Thử lại:
running->up_for_retry->scheduled->queued->running. - Thất bại:
running->failed. - Dependency thất bại: task tiền nhiệm ->
failed, task phụ thuộc ->upstream_failed.
Sơ đồ vòng đời Task Instance:
stateDiagram-v2
[*] --> none: Task Instance được tạo
none --> none: Chờ dependency
none --> scheduled: Dependency đáp ứng
scheduled --> queued: Executor tiếp nhận
queued --> running: Worker bắt đầu chạy
running --> success: Hoàn tất không lỗi
running --> up_for_retry: Lỗi, còn lượt retry
up_for_retry --> scheduled: Đến lượt thử lại
running --> failed: Lỗi, hết retry
running --> restarting: Yêu cầu khởi động lại
restarting --> scheduled: Lập lịch lại
none --> upstream_failed: Task tiền nhiệm thất bại
none --> skipped: Không cần thực thi
scheduled --> up_for_reschedule: Sensor chờ kiểm tra lại
scheduled --> deferred: Chờ trigger hoặc sự kiện
scheduled --> awaiting_input: Chờ phản hồi người dùng
none --> removed: Task bị xóa khỏi job
success --> [*]
failed --> [*]
skipped --> [*]
upstream_failed --> [*]
Trong sơ đồ, các trạng thái up_for_reschedule, deferred và awaiting_input là các nhánh chờ đặc biệt; task sẽ tiếp tục khi điều kiện tương ứng được đáp ứng. Trạng thái removed xảy ra khi task không còn trong cấu hình job sau khi Run đã bắt đầu.
Xem logs
Tại vùng chi tiết task, chọn tab Logs để xem log thực thi:
- Chọn All Log Levels để lọc theo mức log như
INFOhoặcERROR. - Chọn All Sources để lọc theo thành phần sinh log.
- Dùng menu tùy chọn để refresh log hoặc bật/tắt line wrapping.
- Đọc các dòng
ERRORvà phần exception ở cuối log để xác định nguyên nhân.
Khi cần xem bản ghi mới nhất, nhấn Refresh logs.
Xem Details
Chọn tab Details để xem thông tin cơ bản của task và Run, gồm:
- Task ID và Run ID.
- Status.
- Start date và End date.
- Duration.
Đối chiếu thời gian và trạng thái giữa task, Run và job để xác định phạm vi lỗi.
Xử lý lần chạy thất bại
Khi Run có trạng thái Failed:
- Mở Run thất bại từ bảng lịch sử.
- Xem task chuyển sang trạng thái Failed.
- Mở Logs, lọc
ERRORvà xác định exception. - Kiểm tra Compute, đường dẫn source, thư viện, biến môi trường và tham số của task.
- Sửa cấu hình nếu cần.
- Nhấn Run Now để chạy lại sau khi đã xử lý nguyên nhân.
Cần phân biệt chạy lại theo lịch với chạy thủ công và kiểm tra tác động của việc chạy lại đối với dữ liệu hoặc tài nguyên đích.