Khóa thực thi Workflow phân tán sử dụng Redis - Quy trình làm việc n8n

Sử dụng mẫu workflow n8n mạnh mẽ này để ngăn chặn việc thực thi đồng thời các workflow quan trọng bằng cách dùng Redis làm cơ chế khóa phân tán. Đảm bảo tự động hóa n8n tuần tự và đáng tin cậy.

Xem trước Workflow

Sẵn sàng tự động hóa chưa?

Tải xuống mẫu quy trình làm việc n8n này và bắt đầu sử dụng ngay lập tức.

Đối tượng phù hợp

Người dùng chạy các workflow n8n theo lịch trình, cực kỳ quan trọng và bắt buộc phải thực thi tuần tự.
Nhà phát triển cần kiểm soát đồng thời đáng tin cậy trong các mẫu n8n của họ.
Kỹ sư DevOps muốn triển khai giám sát thực thi và kiểm soát luồng mạnh mẽ bằng cách sử dụng một node n8n.
Bất kỳ ai tự host n8n và yêu cầu quản lý trạng thái chia sẻ giữa các tiến trình.

Tổng quan

Khi xử lý các quy trình quan trọng không thể chịu được việc thực thi song song—như đồng bộ hóa dữ liệu hoặc xử lý các lô tài chính—việc đảm bảo chỉ có một phiên bản của tác vụ chạy tại một thời điểm là rất quan trọng. Workflow n8n cụ thể này cung cấp một giải pháp mạnh mẽ bằng cách triển khai khóa phân tán sử dụng Redis. Mỗi khi trigger n8n kích hoạt, hệ thống sẽ kiểm tra một cờ trạng thái dành riêng trong Redis. Nếu cờ là 'idle', workflow n8n sẽ tiếp tục, đặt cờ thành 'running', thực thi workflow đích, và cuối cùng đặt lại cờ về 'idle'. Nếu cờ đã là 'running', việc thực thi sẽ bị chấm dứt ngay lập tức. Điều này đảm bảo xử lý tuần tự, khiến mô hình này trở thành một kỹ thuật thiết yếu cho tự động hóa n8n tần suất cao đáng tin cậy bằng cách sử dụng trạng thái chia sẻ được quản lý bởi một node n8n Redis.

Cách thức hoạt động


  1. Kích hoạt theo lịch: Quy trình bắt đầu bằng trigger Lịch trình n8n, được cấu hình để chạy với tần suất cao (ví dụ: 5 giây một lần).

  2. Kiểm tra trạng thái Redis: Node Redis n8n Get Status (Lấy Trạng thái) truy xuất động trạng thái khóa hiện tại (workflowStatus_{{ $workflow.id }}) liên quan đến workflow n8n cụ thể này.

  3. Xác thực & Tồn tại Khóa: Một node If n8n (Redis Key exists - Khóa Redis tồn tại) trước tiên xác nhận xem khóa trạng thái có tồn tại trong Redis hay không. Nếu nó không tồn tại, workflow giả định là an toàn để tiếp tục và thiết lập khóa.

  4. Cổng kiểm soát Đồng thời: Một node Filter n8n (Continue if Idle - Tiếp tục nếu Rỗi) thực hiện kiểm tra đồng thời cốt lõi, đảm bảo workflow n8n chỉ tiếp tục nếu giá trị trạng thái truy xuất được khớp nghiêm ngặt với 'idle'. Nếu trạng thái là 'running', việc thực thi sẽ dừng lại ở đây, ngăn chặn các lần chạy đồng thời.

  5. Thiết lập Khóa Đang chạy: Nếu được cấp phép thực thi, node Redis n8n Set Running (Đặt Đang chạy) sẽ cập nhật khóa Redis thành 'running', thiết lập khóa phân tán.

  6. Thực thi Workflow Chính: Node n8n Execute Workflow (Thực thi Workflow) chạy workflow n8n quan trọng đích bằng ID đã chỉ định của nó. Node n8n này được cấu hình để luôn tiếp tục thực thi sang bước tiếp theo, ngay cả khi workflow con thất bại.

  7. Giải phóng Khóa Rỗi: Cuối cùng, node Redis n8n Set Idle (Đặt Rỗi) giải phóng khóa bằng cách đặt lại khóa trạng thái về 'idle', làm cho hệ thống sẵn sàng cho trigger n8n theo lịch tiếp theo. Điều này hoàn tất chu kỳ cho một lần thực thi thành công của workflow n8n.

Hướng dẫn cài đặt


  1. Nhập mã JSON workflow n8n này vào phiên bản n8n của bạn.

  2. Thông tin xác thực Redis: Cấu hình thông tin xác thực Redis trong thiết lập n8n của bạn. Tất cả các node n8n Redis (Get Status, Set Running, Set Idle) phải sử dụng thông tin xác thực này.

  3. Cấu hình ID Workflow Đích: Tìm node n8n Execute Workflow. Bạn phải cập nhật tham số Workflow ID để khớp với ID của workflow n8n quan trọng mà bạn dự định bảo vệ khỏi thực thi đồng thời.

  4. Thiết lập Trạng thái Ban đầu: Workflow bao gồm một phần khắc phục sự cố (hiện đang bị tắt). Trước khi kích hoạt trigger Lịch trình n8n, rất khuyến khích bạn tự kích hoạt và chạy chuỗi When clicking "Test workflow" -> Reset to Idle một lần để đảm bảo khóa Redis được khởi tạo thành 'idle' và khóa đang trống.

  5. Kích hoạt: Lưu và kích hoạt trigger Lịch trình n8n để bắt đầu giám sát các cửa sổ thực thi.

Chi tiết Node

Schedule Trigger (Trigger Lịch trình): Trigger n8n thiết yếu này khởi tạo toàn bộ quy trình theo chu kỳ thời gian (ví dụ: 5 giây một lần). Tần suất này có thể điều chỉnh dựa trên yêu cầu của workflow n8n được bảo vệ.
Node Redis (Get Status - Lấy Trạng thái): Đọc khóa trạng thái động (workflowStatus_{{ $workflow.id }}) từ Redis. Node n8n này rất quan trọng để truy xuất trạng thái khóa hiện tại.
Node If (Redis Key exists - Khóa Redis tồn tại): Kiểm tra xem biến trạng thái Redis đã được điền dữ liệu chưa. Nếu khóa trống, workflow n8n giả định trạng thái sạch sẽ và tiếp tục thiết lập khóa đang chạy.
Node Filter (Continue if Idle - Tiếp tục nếu Rỗi): Node n8n này hoạt động như cổng kiểm soát đồng thời, chỉ cho phép các mục dữ liệu đi qua nếu giá trị khóa trạng thái khớp nghiêm ngặt với "idle". Nếu trạng thái là 'running', việc thực thi sẽ dừng lại ở đây, ngăn chặn các lần chạy đồng thời.
Node Redis (Set Running / Set Idle - Đặt Đang chạy / Đặt Rỗi): Hai node n8n Redis này quản lý khóa phân tán. Set Running lấy khóa trước khi thực thi, và Set Idle giải phóng khóa sau khi node Execute Workflow n8n hoàn tất.
Execute Workflow (Thực thi Workflow): Node hành động n8n cốt lõi gọi và thực thi workflow n8n riêng biệt, được bảo vệ. Việc đặt ID Workflow chính xác ở đây là rất quan trọng.


  • Node Sticky Note n8n: Được sử dụng trong toàn bộ mẫu để cung cấp ngữ cảnh cần thiết, đặc biệt là xung quanh việc đặt khoảng thời gian và các bước khắc phục sự cố như đặt lại thủ công cờ trạng thái về 'idle'.

Các quy trình n8n liên quan

miễn phí

Node: 8 Node
Đã cập nhật: Tháng 12 26 2025
Xem tất cả
Tạo bởi

Workflow Optimization Expert | Software Architect. Use my link to book an initial consultation for custom built workflows using n8n.

Đặc sắc*