Skip to content

feat: Workflow Message Queue (WMQ) support#389

Draft
mp-orkes wants to merge 2 commits intomainfrom
feature/wmq-support
Draft

feat: Workflow Message Queue (WMQ) support#389
mp-orkes wants to merge 2 commits intomainfrom
feature/wmq-support

Conversation

@mp-orkes
Copy link
Contributor

Summary

Implements the Workflow Message Queue (WMQ) feature, allowing external callers to push messages into a running workflow and consume them inside the workflow via a system task.

  • executor.send_message(workflow_id, payload) / workflow_client.send_message(...)POST /workflow/{workflowId}/message
  • New PullWorkflowMessagesTask for consuming messages inside workflow definitions
  • New TaskType.PULL_WORKFLOW_MESSAGES enum value
  • New WorkflowMessage model (id, workflow_id, payload, received_at)
  • Usage guide at docs/workflow-message-queue.md

Server requirement

conductor.workflow-message-queue.enabled=true must be set on the Conductor server.

Test plan

  • Start a workflow that contains a PullWorkflowMessagesTask
  • Call executor.send_message(workflow_id, {...}) and verify a UUID is returned
  • Verify the workflow task receives the message in its output (messages, count)
  • Verify 404 when workflow ID is unknown
  • Verify 409 when workflow is not in RUNNING state
  • Verify 429 when queue is at capacity

Related

🤖 Generated with Claude Code

Implements the WMQ feature from conductor-oss/conductor#917:
- POST /workflow/{workflowId}/message via WorkflowResourceApi.send_workflow_message
- executor.send_message / workflow_client.send_message convenience methods
- PullWorkflowMessagesTask for consuming messages inside workflow definitions
- TaskType.PULL_WORKFLOW_MESSAGES enum value
- WorkflowMessage model (id, workflow_id, payload, received_at)
- docs/workflow-message-queue.md usage guide with examples

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mp-orkes mp-orkes requested a review from v1r3n March 25, 2026 00:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant