Skip to content

feat: Show next run time of state #611

@NiveditJain

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

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

  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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions