
Display the scheduled enqueue time for nodes that have been signaled with `ReQueueAfterSignal` or `RequeueAtSignal` in the Node Details modal.
Motivation
When a node raises ReQueueAfterSignal or RequeueAtSignal, the state is scheduled to be enqueued at a future time. Currently, users cannot see when the node will be executed next from the dashboard, making it difficult to:
- Monitor scheduled executions – Users need visibility into when delayed nodes will run
- Debug timing issues – Understanding the scheduled time helps debug workflow timing problems
- Plan workflow execution – Knowing when nodes will execute helps with workflow planning and coordination
Current State
What Exists
| Component |
Location |
Purpose |
ReQueueAfterSignal |
python-sdk/exospherehost/signals.py |
Relative delay requeue (timedelta) |
RequeueAtSignal |
python-sdk/exospherehost/signals.py |
Absolute timestamp requeue (datetime) |
enqueue_after field |
state-manager/app/models/db/state.py |
Unix timestamp (ms) when state should be enqueued |
NodeDetailsModal |
dashboard/src/components/NodeDetailsModal.tsx |
Displays node information and status |
NodeRunDetailsResponse |
state-manager/app/models/node_run_details_models.py |
API response model for node details |
Current Limitations
- The
enqueue_after field exists in the State model but is not exposed in the NodeRunDetailsResponse
- The dashboard Node Details modal does not display the next run time
- Users cannot see when a node scheduled for requeue will execute
Proposed Solution
Overview
Add the enqueue_after field to the node details API response and display it in the Node Details modal when:
- Node status is
CREATED
enqueue_after timestamp exists
enqueue_after is in the future (greater than current time)
Key Features
- API Enhancement – Include
enqueue_after in NodeRunDetailsResponse
- UI Display – Show "Next Run Time" in the Status & Timestamps section
- Conditional Display – Only show when node is scheduled for future execution
- User-Friendly Format – Display timestamp in user's local timezone and locale format
Motivation
When a node raises
ReQueueAfterSignalorRequeueAtSignal, the state is scheduled to be enqueued at a future time. Currently, users cannot see when the node will be executed next from the dashboard, making it difficult to:Current State
What Exists
ReQueueAfterSignalpython-sdk/exospherehost/signals.pyRequeueAtSignalpython-sdk/exospherehost/signals.pyenqueue_afterfieldstate-manager/app/models/db/state.pyNodeDetailsModaldashboard/src/components/NodeDetailsModal.tsxNodeRunDetailsResponsestate-manager/app/models/node_run_details_models.pyCurrent Limitations
enqueue_afterfield exists in the State model but is not exposed in theNodeRunDetailsResponseProposed Solution
Overview
Add the
enqueue_afterfield to the node details API response and display it in the Node Details modal when:CREATEDenqueue_aftertimestamp existsenqueue_afteris in the future (greater than current time)Key Features
enqueue_afterinNodeRunDetailsResponse