dify/api/dify_graph/graph_engine/command_channels
2026-03-02 18:42:30 +08:00
..
__init__.py refactor: move workflow package to dify_graph (#32844) 2026-03-02 18:42:30 +08:00
in_memory_channel.py refactor: move workflow package to dify_graph (#32844) 2026-03-02 18:42:30 +08:00
README.md refactor: move workflow package to dify_graph (#32844) 2026-03-02 18:42:30 +08:00
redis_channel.py refactor: move workflow package to dify_graph (#32844) 2026-03-02 18:42:30 +08:00

Command Channels

Channel implementations for external workflow control.

Components

InMemoryChannel

Thread-safe in-memory queue for single-process deployments.

  • fetch_commands() - Get pending commands
  • send_command() - Add command to queue

RedisChannel

Redis-based queue for distributed deployments.

  • fetch_commands() - Get commands with JSON deserialization
  • send_command() - Store commands with TTL

Usage

# Local execution
channel = InMemoryChannel()
channel.send_command(AbortCommand(graph_id="workflow-123"))

# Distributed execution
redis_channel = RedisChannel(
    redis_client=redis_client,
    channel_key="workflow:123:commands"
)