fix execution not starting if status is pending (#502)

This commit is contained in:
Dan Wilson 2023-09-15 14:30:34 +00:00 committed by Harness
parent a6dcc0a6ef
commit e61b5f7334
6 changed files with 13 additions and 14 deletions

View File

@ -13,7 +13,7 @@ import { ExecutionState, ExecutionStatus } from 'components/ExecutionStatus/Exec
import { getStatus } from 'utils/ExecutionUtils'
import { PipeSeparator } from 'components/PipeSeparator/PipeSeparator'
import { timeDistance } from 'utils/Utils'
import { useLiveTimer } from 'hooks/useLiveTimeHook'
import useLiveTimer from 'hooks/useLiveTimeHook'
import { CommitActions } from 'components/CommitActions/CommitActions'
import css from './ExecutionPageHeader.module.scss'
@ -50,8 +50,9 @@ export function ExecutionPageHeader({
const { getString } = useStrings()
const space = useGetSpaceParam()
const { routes } = useAppContext()
const currentTime = useLiveTimer()
const isActive = executionInfo?.status === ExecutionState.RUNNING
const currentTime = useLiveTimer(true)
if (!repoMetadata) {
return null

View File

@ -5,7 +5,7 @@ import type { TypesStage } from 'services/code'
import { ExecutionState, ExecutionStatus } from 'components/ExecutionStatus/ExecutionStatus'
import { getStatus } from 'utils/ExecutionUtils'
import { timeDistance } from 'utils/Utils'
import { useLiveTimer } from 'hooks/useLiveTimeHook'
import useLiveTimer from 'hooks/useLiveTimeHook'
import css from './ExecutionStageList.module.scss'
interface ExecutionStageListProps {

View File

@ -1,11 +1,6 @@
import { useState, useEffect } from 'react'
/**
* useLiveTimer returns the current time, updated every second.
*
* @param isActive - If true, the timer is active and updates every second.
*/
export function useLiveTimer(isActive: boolean): number {
const useLiveTimer = (isActive = true): number => {
const [currentTime, setCurrentTime] = useState(Date.now())
useEffect(() => {
@ -26,3 +21,5 @@ export function useLiveTimer(isActive: boolean): number {
return currentTime
}
export default useLiveTimer

View File

@ -15,6 +15,7 @@ import { Split } from 'components/Split/Split'
import { ExecutionPageHeader } from 'components/ExecutionPageHeader/ExecutionPageHeader'
import useSpaceSSE from 'hooks/useSpaceSSE'
import { ExecutionState } from 'components/ExecutionStatus/ExecutionStatus'
import { getStatus } from 'utils/ExecutionUtils'
import noExecutionImage from '../RepositoriesListing/no-repo.svg'
import css from './Execution.module.scss'
@ -58,7 +59,7 @@ const Execution = () => {
executionRefetch()
}
},
shouldRun: execution?.status === ExecutionState.RUNNING
shouldRun: [ExecutionState.RUNNING, ExecutionState.PENDING].includes(getStatus(execution?.status))
})
return (

View File

@ -33,7 +33,7 @@ import { getStatus } from 'utils/ExecutionUtils'
import useSpaceSSE from 'hooks/useSpaceSSE'
import { ExecutionText, ExecutionTrigger } from 'components/ExecutionText/ExecutionText'
import useRunPipelineModal from 'components/RunPipelineModal/RunPipelineModal'
import { useLiveTimer } from 'hooks/useLiveTimeHook'
import useLiveTimer from 'hooks/useLiveTimeHook'
import noExecutionImage from '../RepositoriesListing/no-repo.svg'
import css from './ExecutionList.module.scss'
@ -45,7 +45,7 @@ const ExecutionList = () => {
const pageBrowser = useQueryParams<PageBrowserProps>()
const pageInit = pageBrowser.page ? parseInt(pageBrowser.page) : 1
const [page, setPage] = usePageIndex(pageInit)
const currentTime = useLiveTimer(true)
const currentTime = useLiveTimer()
const { repoMetadata, error, loading, refetch, space } = useGetRepositoryMetadata()

View File

@ -40,7 +40,7 @@ import useNewPipelineModal from 'components/NewPipelineModal/NewPipelineModal'
import { useGetSpaceParam } from 'hooks/useGetSpaceParam'
import useSpaceSSE from 'hooks/useSpaceSSE'
import { useConfirmAct } from 'hooks/useConfirmAction'
import { useLiveTimer } from 'hooks/useLiveTimeHook'
import useLiveTimer from 'hooks/useLiveTimeHook'
import { CommitActions } from 'components/CommitActions/CommitActions'
import noPipelineImage from '../RepositoriesListing/no-repo.svg'
import css from './PipelineList.module.scss'
@ -54,7 +54,7 @@ const PipelineList = () => {
const pageInit = pageBrowser.page ? parseInt(pageBrowser.page) : 1
const [page, setPage] = usePageIndex(pageInit)
const space = useGetSpaceParam()
const currentTime = useLiveTimer(true)
const currentTime = useLiveTimer()
const { repoMetadata, error, loading, refetch } = useGetRepositoryMetadata()