From 8a034bda473617da1d7a54e025508ac95afbdcca Mon Sep 17 00:00:00 2001 From: Daniel Gibson Date: Fri, 3 Jan 2025 16:35:44 -0600 Subject: [PATCH] Start using InstigationTick.scheduledExecutionTimestamp when rendering the schedule timeline Summary: Right now schedule ticks smush two separate concepts into the 'timestamp' field: the time the schedule tick was supposed to run, and the time it actually ran. This means that if the tick fails and retries, the retry overwrites the original tick in a confusing way, and also means that if a tick happens way after its scheduled time for whatever reason (e..g the daemon was down) the resulting duration is much longer than it should have been. The plan is to alleviate those issues by moving the 'timestamp' field to be the itme that the tick actually started, and add a new 'scheduledExecutionTimestamp' field for when you when you want to know when it was supposed to happen. This PR adds the new "scheduledExecutionTimestamp" field to the tick object and uses it where appropriate to keep the existing behavior. I think more substantial design changes will likely need to be made to the schedule timeline view to display both timestamps where appropriate, but wanted to send this out to seed that discussion. --- .../dagster-ui/packages/ui-core/client.json | 16 ++++++++-------- .../AssetDaemonTicksQuery.tsx | 1 + .../types/AssetDaemonTicksQuery.types.ts | 4 +++- .../ui-core/src/instigation/InstigationTick.tsx | 1 + .../ui-core/src/instigation/InstigationUtils.tsx | 1 + .../src/instigation/TickDetailsDialog.tsx | 7 +++++-- .../ui-core/src/instigation/TickHistory.tsx | 2 +- .../__tests__/InstigationTick.test.tsx | 1 + .../instigation/types/InstigationTick.types.ts | 1 + .../instigation/types/InstigationUtils.types.ts | 2 ++ .../instigation/types/TickDetailsDialog.types.ts | 3 ++- .../src/instigation/types/TickHistory.types.ts | 3 ++- .../ui-core/src/schedules/ScheduleDetails.tsx | 2 +- .../src/schedules/types/ScheduleRoot.types.ts | 3 ++- .../src/schedules/types/ScheduleUtils.types.ts | 1 + .../sensors/types/AssetSensorTicksQuery.types.ts | 3 ++- .../src/sensors/types/SensorFragment.types.ts | 1 + .../src/sensors/types/SensorRoot.types.ts | 3 ++- .../types/VirtualizedScheduleRow.types.ts | 3 ++- .../types/VirtualizedSensorRow.types.ts | 3 ++- 20 files changed, 41 insertions(+), 20 deletions(-) diff --git a/js_modules/dagster-ui/packages/ui-core/client.json b/js_modules/dagster-ui/packages/ui-core/client.json index 8e9e8ae0c4b40..2141d902287c9 100644 --- a/js_modules/dagster-ui/packages/ui-core/client.json +++ b/js_modules/dagster-ui/packages/ui-core/client.json @@ -37,7 +37,7 @@ "RunningBackfillsNoticeQuery": "edaaca1d6474672ae342eb3887f2aed16fbb502b704a603986d21f14bc10ee53", "AssetCheckDetailsQuery": "c448858a73cd66132c2d6f232497570d217ece793897c47aaa1155b15c7ef8e9", "AssetChecksQuery": "2487c52958999bb33e5daa6c0caa0eea46ab200cb7d5d2294a8290e8e1ad3025", - "AssetDaemonTicksQuery": "399ac77e660d40eba32c2ab06db2a2936a71e660d93ec108364eec1fdfc16788", + "AssetDaemonTicksQuery": "1b3e0f84886b09b5f43c9218be7e657836366f67a54b122dbfc15d5f92c8037d", "AssetColumnLineage": "bcb70460f77b88bbbfaec90982f3e99f522d9a4e270e63832684cfde169fabc7", "GetAutoMaterializePausedQuery": "50f74183f54031274136ab855701d01f26642a6d958d7452ae13aa6c40ca349d", "SetAutoMaterializePausedMutation": "144afc0d6f43dfa6d437c0e7f621e4f19ffb48c7f75669d2e3d742c115aa7b4b", @@ -72,8 +72,8 @@ "InstanceWarningQuery": "7ead177b08f678cb85bfebac63b1b25fff6c60c50c862a3c3d20d8d701463823", "InstanceRunQueueConfig": "51de03303f49487cecbfbcd9a6624b8999779a88412c035aced402cb295e40c5", "LaunchedRunListQuery": "c4a50f5d4e56aff9965413816c16db2489bf487d5dacd786bfadfad508f8f32b", - "SelectedTickQuery": "10c228399d8224b30ce4520d24f0c6f675a534abc7cbe268b0c8cc870b3f0e90", - "TickHistoryQuery": "c7a49ebf0ce969829effc3c7234a7aada77643e14674507b4f75dd4b9aaaf538", + "SelectedTickQuery": "86f106c68a53db3ee9f4d5e4a8e08e4bcd79af90d135c5c61390058bb019350b", + "TickHistoryQuery": "cdb1e9156d778ce3cfd0c99dc9f71f0d88d85d69ce706f75eb9dbb995cfda845", "AssetGroupAndLocationQuery": "584b27ecda9ff883e92f2d8858520a543ea0be07d39e1b4c0fc5d802231bb602", "ConfigPartitionsQuery": "b2982b87aa317ad4df2f4227ac4285280de352fa571e952f56f9f85e2a0096fc", "ConfigPartitionsAssetsQuery": "02438f2590d14870b0df3107680c2d33da2c7a492a3f8a507c591f7ad4555409", @@ -147,19 +147,19 @@ "StopSchedule": "d2d45e914fce611fa1adfffd488af554e29d4ee87220636fb841c668e4b83832", "ResetSchedule": "4de0dab719e737defe9787ab0b0bcef44f5384c92b2dd1c0bc0942643681b09b", "SchedulePartitionStatusQuery": "f5440153ccc2480dfdd8c6a7e9371c7276d1d27016e3820c0ba1488523e55d5b", - "ScheduleRootQuery": "b54dfb64f816baa5c52c4676dcbd3808477130cab5237a5b96b988ec002adafc", + "ScheduleRootQuery": "7538f62ceb36defd988fde627f0680e155398c194970595d076c1775f08fe55b", "PreviousRunsForScheduleQuery": "0ffc329d3c65a2f7a29553bd3a72f8e8adb4b3a10944221b4a3c68335fad1d31", "ScheduleStateQuery": "75bc752d4f1df0fc2829736c14a4c2f707981571eb83a9139fa7048d202b3491", "ScheduleTickConfigQuery": "acdec3206ff12d652fe6657c8c51202a65b652b9575625d1f024014bbb828788", "SearchPrimaryQuery": "5d98265169496aabdee190894e504f0dd6205c3a8be462c5eac2a6c9c0c75f4a", "SearchSecondaryQuery": "39a75cb3ec146190c7dab171af1761a0f63a080aa8dbf379066223a6ac4af7e9", - "AssetSensorTicksQuery": "ee952c7c0076a23f9d5940ad472a6b580989c0d241dc598dbefa5bf3734673d0", + "AssetSensorTicksQuery": "4c7806dd7f960d99cb22da990948bbf2b8ef0ea50200a525bfe89e7290c73f54", "SetSensorCursorMutation": "a2982d2698c645a5d39b60415792c233abd90f85d2a2ac7cd626d88c3d3362a2", "StartSensor": "d091651f745822f99d00968a3d5bd8bc68c11061bdcb2391d06f5ef6f5775ed9", "StopRunningSensor": "810e2b80630b6c8f5a037fbf31eb2d8ece51d4168973270e6d2249e45d064b81", "ResetSensor": "fba64da1f1979a7c53b618ba02c58cb72bd20c06220eeeef0318b15b502e3783", "PreviousRunsForSensorQuery": "11280246962f31faf7d5e8a479dd3e97bdfe074bb64a56a76ff436eda018d5b6", - "SensorRootQuery": "fd32c8557a75c273133137c289091357635f3be0af17b9a57b052087f8e9d023", + "SensorRootQuery": "27c7648c8884014177196de821669ba8c9a92b2527212c612bf1f4cd0c1fdd97", "SensorAssetSelectionQuery": "188cd7bab57cb2a04cf4941133f43327d91cf9edef01018d3635cacf6e36582d", "SensorStateQuery": "867ed8f85db89c801fcd6f099356971c9c8a64ce52e6c61e6b73dc18680439aa", "SnapshotQuery": "6ada4abd4592a558d98b2557ec511e87c9420bab5cbc155ec8473c55bd820a7a", @@ -172,8 +172,8 @@ "GraphExplorerRootQuery": "52485f42eb4448964f8294b7557e457c13a176923d3e7e343da4b391f00c1c45", "SingleNonSDAAssetQuery": "a7ef9ca5f114adee47bc5361112b16a2f00b70ae06eb6ab65a9f312bbae7625c", "SingleJobQuery": "5ff8f070e59507f5369f1a19abb9a72cfa12439ab04a08dc340866885f6e4702", - "SingleScheduleQuery": "508a47e32ce04ba5be52c66cd592b74147bf98ec85b9f5d0e4db45172bd9a897", - "SingleSensorQuery": "dbda5ba47d4ba10f8c527c9a7cd45fba0811276441a17a8ac6f173ed588f025b", + "SingleScheduleQuery": "ef0e8c00eefc3221abb5166f82120c116d73b64676647631f3b27def9a8841fb", + "SingleSensorQuery": "fb5337cbdc8a7c8be954409c56482ea3bcd6937ec999af4c15e0d92e8ac52c92", "WorkspaceAssetsQuery": "53e4bb05e5c1194cc83e0910cfe7c482d75344c10eabf184be26da29d771c236", "LocationWorkspaceQuery": "72685489c28204d48c39ed5d85231756f5637febc8b19e0a0b4967a2d982191e", "CodeLocationStatusQuery": "f92885e073b8b4b9bd588bf248df7b06025e2a1f6e74c082233ac7863f5eef8e", diff --git a/js_modules/dagster-ui/packages/ui-core/src/assets/auto-materialization/AssetDaemonTicksQuery.tsx b/js_modules/dagster-ui/packages/ui-core/src/assets/auto-materialization/AssetDaemonTicksQuery.tsx index c82b802f94e21..56cc9193307af 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/assets/auto-materialization/AssetDaemonTicksQuery.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/assets/auto-materialization/AssetDaemonTicksQuery.tsx @@ -6,6 +6,7 @@ export const ASSET_DAEMON_TICK_FRAGMENT = gql` id timestamp endTimestamp + scheduledExecutionTimestamp status instigationType error { diff --git a/js_modules/dagster-ui/packages/ui-core/src/assets/auto-materialization/types/AssetDaemonTicksQuery.types.ts b/js_modules/dagster-ui/packages/ui-core/src/assets/auto-materialization/types/AssetDaemonTicksQuery.types.ts index cfc42ce916c3e..36b1770f12105 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/assets/auto-materialization/types/AssetDaemonTicksQuery.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/assets/auto-materialization/types/AssetDaemonTicksQuery.types.ts @@ -7,6 +7,7 @@ export type AssetDaemonTickFragment = { id: string; timestamp: number; endTimestamp: number | null; + scheduledExecutionTimestamp: number | null; status: Types.InstigationTickStatus; instigationType: Types.InstigationType; requestedAssetMaterializationCount: number; @@ -46,6 +47,7 @@ export type AssetDaemonTicksQuery = { id: string; timestamp: number; endTimestamp: number | null; + scheduledExecutionTimestamp: number | null; status: Types.InstigationTickStatus; instigationType: Types.InstigationType; requestedAssetMaterializationCount: number; @@ -69,4 +71,4 @@ export type AssetDaemonTicksQuery = { }>; }; -export const AssetDaemonTicksQueryVersion = '399ac77e660d40eba32c2ab06db2a2936a71e660d93ec108364eec1fdfc16788'; +export const AssetDaemonTicksQueryVersion = '1b3e0f84886b09b5f43c9218be7e657836366f67a54b122dbfc15d5f92c8037d'; diff --git a/js_modules/dagster-ui/packages/ui-core/src/instigation/InstigationTick.tsx b/js_modules/dagster-ui/packages/ui-core/src/instigation/InstigationTick.tsx index 2fdcc8a70e743..ace3446af700b 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/instigation/InstigationTick.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/instigation/InstigationTick.tsx @@ -92,6 +92,7 @@ export const TICK_TAG_FRAGMENT = gql` id status timestamp + scheduledExecutionTimestamp skipReason runIds runKeys diff --git a/js_modules/dagster-ui/packages/ui-core/src/instigation/InstigationUtils.tsx b/js_modules/dagster-ui/packages/ui-core/src/instigation/InstigationUtils.tsx index b3904c789231a..c5244379c9762 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/instigation/InstigationUtils.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/instigation/InstigationUtils.tsx @@ -112,6 +112,7 @@ export const HISTORY_TICK_FRAGMENT = gql` status timestamp endTimestamp + scheduledExecutionTimestamp cursor instigationType skipReason diff --git a/js_modules/dagster-ui/packages/ui-core/src/instigation/TickDetailsDialog.tsx b/js_modules/dagster-ui/packages/ui-core/src/instigation/TickDetailsDialog.tsx index a6cc0f0f8dfc5..3823f2385c814 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/instigation/TickDetailsDialog.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/instigation/TickDetailsDialog.tsx @@ -133,7 +133,7 @@ const TickDetailsDialogImpl = ({tickId, tickResultType, instigationSelector}: In <> Tick for {instigationSelector.name}: @@ -242,7 +242,10 @@ export function TickDetailSummary({ Timestamp
{tick ? ( - + ) : ( '–' )} diff --git a/js_modules/dagster-ui/packages/ui-core/src/instigation/TickHistory.tsx b/js_modules/dagster-ui/packages/ui-core/src/instigation/TickHistory.tsx index 4b65d1891a343..d095c204f42c2 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/instigation/TickHistory.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/instigation/TickHistory.tsx @@ -453,7 +453,7 @@ function TickRow({ diff --git a/js_modules/dagster-ui/packages/ui-core/src/instigation/__tests__/InstigationTick.test.tsx b/js_modules/dagster-ui/packages/ui-core/src/instigation/__tests__/InstigationTick.test.tsx index 577303c6467de..b891c10b9515c 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/instigation/__tests__/InstigationTick.test.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/instigation/__tests__/InstigationTick.test.tsx @@ -11,6 +11,7 @@ describe('TickTag', () => { id: 'foobar', status: InstigationTickStatus.SUCCESS, timestamp: Date.now(), + scheduledExecutionTimestamp: Date.now(), skipReason: 'lol skipped', runIds: [], runKeys: [], diff --git a/js_modules/dagster-ui/packages/ui-core/src/instigation/types/InstigationTick.types.ts b/js_modules/dagster-ui/packages/ui-core/src/instigation/types/InstigationTick.types.ts index e6e9038a68960..eb33019dde18d 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/instigation/types/InstigationTick.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/instigation/types/InstigationTick.types.ts @@ -7,6 +7,7 @@ export type TickTagFragment = { id: string; status: Types.InstigationTickStatus; timestamp: number; + scheduledExecutionTimestamp: number | null; skipReason: string | null; runIds: Array; runKeys: Array; diff --git a/js_modules/dagster-ui/packages/ui-core/src/instigation/types/InstigationUtils.types.ts b/js_modules/dagster-ui/packages/ui-core/src/instigation/types/InstigationUtils.types.ts index 12acc38c0ff18..cdd41bdf6b62f 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/instigation/types/InstigationUtils.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/instigation/types/InstigationUtils.types.ts @@ -35,6 +35,7 @@ export type InstigationStateFragment = { cursor: string | null; status: Types.InstigationTickStatus; timestamp: number; + scheduledExecutionTimestamp: number | null; skipReason: string | null; runIds: Array; runKeys: Array; @@ -66,6 +67,7 @@ export type HistoryTickFragment = { status: Types.InstigationTickStatus; timestamp: number; endTimestamp: number | null; + scheduledExecutionTimestamp: number | null; cursor: string | null; instigationType: Types.InstigationType; skipReason: string | null; diff --git a/js_modules/dagster-ui/packages/ui-core/src/instigation/types/TickDetailsDialog.types.ts b/js_modules/dagster-ui/packages/ui-core/src/instigation/types/TickDetailsDialog.types.ts index 5a2335eedd4a5..428eaeceff0d2 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/instigation/types/TickDetailsDialog.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/instigation/types/TickDetailsDialog.types.ts @@ -22,6 +22,7 @@ export type SelectedTickQuery = { status: Types.InstigationTickStatus; timestamp: number; endTimestamp: number | null; + scheduledExecutionTimestamp: number | null; cursor: string | null; instigationType: Types.InstigationType; skipReason: string | null; @@ -59,4 +60,4 @@ export type SelectedTickQuery = { | {__typename: 'PythonError'}; }; -export const SelectedTickQueryVersion = '10c228399d8224b30ce4520d24f0c6f675a534abc7cbe268b0c8cc870b3f0e90'; +export const SelectedTickQueryVersion = '86f106c68a53db3ee9f4d5e4a8e08e4bcd79af90d135c5c61390058bb019350b'; diff --git a/js_modules/dagster-ui/packages/ui-core/src/instigation/types/TickHistory.types.ts b/js_modules/dagster-ui/packages/ui-core/src/instigation/types/TickHistory.types.ts index 47e9af53f9319..70e29eec722cc 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/instigation/types/TickHistory.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/instigation/types/TickHistory.types.ts @@ -26,6 +26,7 @@ export type TickHistoryQuery = { status: Types.InstigationTickStatus; timestamp: number; endTimestamp: number | null; + scheduledExecutionTimestamp: number | null; cursor: string | null; instigationType: Types.InstigationType; skipReason: string | null; @@ -67,4 +68,4 @@ export type TickHistoryQuery = { }; }; -export const TickHistoryQueryVersion = 'c7a49ebf0ce969829effc3c7234a7aada77643e14674507b4f75dd4b9aaaf538'; +export const TickHistoryQueryVersion = 'cdb1e9156d778ce3cfd0c99dc9f71f0d88d85d69ce706f75eb9dbb995cfda845'; diff --git a/js_modules/dagster-ui/packages/ui-core/src/schedules/ScheduleDetails.tsx b/js_modules/dagster-ui/packages/ui-core/src/schedules/ScheduleDetails.tsx index 224bb62400002..68021b23484ae 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/schedules/ScheduleDetails.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/schedules/ScheduleDetails.tsx @@ -80,7 +80,7 @@ export const ScheduleDetails = (props: { {latestTick ? ( diff --git a/js_modules/dagster-ui/packages/ui-core/src/schedules/types/ScheduleRoot.types.ts b/js_modules/dagster-ui/packages/ui-core/src/schedules/types/ScheduleRoot.types.ts index 756398f1b90fe..24086845de05a 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/schedules/types/ScheduleRoot.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/schedules/types/ScheduleRoot.types.ts @@ -63,6 +63,7 @@ export type ScheduleRootQuery = { cursor: string | null; status: Types.InstigationTickStatus; timestamp: number; + scheduledExecutionTimestamp: number | null; skipReason: string | null; runIds: Array; runKeys: Array; @@ -163,6 +164,6 @@ export type PreviousRunsForScheduleQuery = { }; }; -export const ScheduleRootQueryVersion = 'b54dfb64f816baa5c52c4676dcbd3808477130cab5237a5b96b988ec002adafc'; +export const ScheduleRootQueryVersion = '7538f62ceb36defd988fde627f0680e155398c194970595d076c1775f08fe55b'; export const PreviousRunsForScheduleQueryVersion = '0ffc329d3c65a2f7a29553bd3a72f8e8adb4b3a10944221b4a3c68335fad1d31'; diff --git a/js_modules/dagster-ui/packages/ui-core/src/schedules/types/ScheduleUtils.types.ts b/js_modules/dagster-ui/packages/ui-core/src/schedules/types/ScheduleUtils.types.ts index cd7401ee54d90..5afeb5a81ff97 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/schedules/types/ScheduleUtils.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/schedules/types/ScheduleUtils.types.ts @@ -46,6 +46,7 @@ export type ScheduleFragment = { cursor: string | null; status: Types.InstigationTickStatus; timestamp: number; + scheduledExecutionTimestamp: number | null; skipReason: string | null; runIds: Array; runKeys: Array; diff --git a/js_modules/dagster-ui/packages/ui-core/src/sensors/types/AssetSensorTicksQuery.types.ts b/js_modules/dagster-ui/packages/ui-core/src/sensors/types/AssetSensorTicksQuery.types.ts index f565be6165168..6d8444fe47315 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/sensors/types/AssetSensorTicksQuery.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/sensors/types/AssetSensorTicksQuery.types.ts @@ -37,6 +37,7 @@ export type AssetSensorTicksQuery = { id: string; timestamp: number; endTimestamp: number | null; + scheduledExecutionTimestamp: number | null; status: Types.InstigationTickStatus; instigationType: Types.InstigationType; requestedAssetMaterializationCount: number; @@ -64,4 +65,4 @@ export type AssetSensorTicksQuery = { | {__typename: 'UnauthorizedError'}; }; -export const AssetSensorTicksQueryVersion = 'ee952c7c0076a23f9d5940ad472a6b580989c0d241dc598dbefa5bf3734673d0'; +export const AssetSensorTicksQueryVersion = '4c7806dd7f960d99cb22da990948bbf2b8ef0ea50200a525bfe89e7290c73f54'; diff --git a/js_modules/dagster-ui/packages/ui-core/src/sensors/types/SensorFragment.types.ts b/js_modules/dagster-ui/packages/ui-core/src/sensors/types/SensorFragment.types.ts index d1eb79cfb6144..e4926b8ce903e 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/sensors/types/SensorFragment.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/sensors/types/SensorFragment.types.ts @@ -43,6 +43,7 @@ export type SensorFragment = { cursor: string | null; status: Types.InstigationTickStatus; timestamp: number; + scheduledExecutionTimestamp: number | null; skipReason: string | null; runIds: Array; runKeys: Array; diff --git a/js_modules/dagster-ui/packages/ui-core/src/sensors/types/SensorRoot.types.ts b/js_modules/dagster-ui/packages/ui-core/src/sensors/types/SensorRoot.types.ts index e6f956cf2ab57..2e8a48efb0009 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/sensors/types/SensorRoot.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/sensors/types/SensorRoot.types.ts @@ -60,6 +60,7 @@ export type SensorRootQuery = { cursor: string | null; status: Types.InstigationTickStatus; timestamp: number; + scheduledExecutionTimestamp: number | null; skipReason: string | null; runIds: Array; runKeys: Array; @@ -182,6 +183,6 @@ export type SensorAssetSelectionQuery = { | {__typename: 'UnauthorizedError'}; }; -export const SensorRootQueryVersion = 'fd32c8557a75c273133137c289091357635f3be0af17b9a57b052087f8e9d023'; +export const SensorRootQueryVersion = '27c7648c8884014177196de821669ba8c9a92b2527212c612bf1f4cd0c1fdd97'; export const SensorAssetSelectionQueryVersion = '188cd7bab57cb2a04cf4941133f43327d91cf9edef01018d3635cacf6e36582d'; diff --git a/js_modules/dagster-ui/packages/ui-core/src/workspace/types/VirtualizedScheduleRow.types.ts b/js_modules/dagster-ui/packages/ui-core/src/workspace/types/VirtualizedScheduleRow.types.ts index bec899a736a58..d2fd94d5efb44 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/workspace/types/VirtualizedScheduleRow.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/workspace/types/VirtualizedScheduleRow.types.ts @@ -31,6 +31,7 @@ export type SingleScheduleQuery = { id: string; status: Types.InstigationTickStatus; timestamp: number; + scheduledExecutionTimestamp: number | null; skipReason: string | null; runIds: Array; runKeys: Array; @@ -61,4 +62,4 @@ export type SingleScheduleQuery = { | {__typename: 'ScheduleNotFoundError'}; }; -export const SingleScheduleQueryVersion = '508a47e32ce04ba5be52c66cd592b74147bf98ec85b9f5d0e4db45172bd9a897'; +export const SingleScheduleQueryVersion = 'ef0e8c00eefc3221abb5166f82120c116d73b64676647631f3b27def9a8841fb'; diff --git a/js_modules/dagster-ui/packages/ui-core/src/workspace/types/VirtualizedSensorRow.types.ts b/js_modules/dagster-ui/packages/ui-core/src/workspace/types/VirtualizedSensorRow.types.ts index cd8fbb177ab96..0789d1ee78d29 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/workspace/types/VirtualizedSensorRow.types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/workspace/types/VirtualizedSensorRow.types.ts @@ -35,6 +35,7 @@ export type SingleSensorQuery = { id: string; status: Types.InstigationTickStatus; timestamp: number; + scheduledExecutionTimestamp: number | null; skipReason: string | null; runIds: Array; runKeys: Array; @@ -69,4 +70,4 @@ export type SingleSensorQuery = { | {__typename: 'UnauthorizedError'}; }; -export const SingleSensorQueryVersion = 'dbda5ba47d4ba10f8c527c9a7cd45fba0811276441a17a8ac6f173ed588f025b'; +export const SingleSensorQueryVersion = 'fb5337cbdc8a7c8be954409c56482ea3bcd6937ec999af4c15e0d92e8ac52c92';