Skip to content

feat: Show next run time of state #611

Description

@NiveditJain
Image 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:

  1. Monitor scheduled executions – Users need visibility into when delayed nodes will run
  2. Debug timing issues – Understanding the scheduled time helps debug workflow timing problems
  3. Plan workflow execution – Knowing when nodes will execute helps with workflow planning and coordination

Current State

What Exists

ComponentLocationPurpose
ReQueueAfterSignalpython-sdk/exospherehost/signals.pyRelative delay requeue (timedelta)
RequeueAtSignalpython-sdk/exospherehost/signals.pyAbsolute timestamp requeue (datetime)
enqueue_after fieldstate-manager/app/models/db/state.pyUnix timestamp (ms) when state should be enqueued
NodeDetailsModaldashboard/src/components/NodeDetailsModal.tsxDisplays node information and status
NodeRunDetailsResponsestate-manager/app/models/node_run_details_models.pyAPI 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

  1. API Enhancement – Include enqueue_after in NodeRunDetailsResponse
  2. UI Display – Show "Next Run Time" in the Status & Timestamps section
  3. Conditional Display – Only show when node is scheduled for future execution
  4. User-Friendly Format – Display timestamp in user's local timezone and locale format

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions