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

View File

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

View File

@ -1,11 +1,6 @@
import { useState, useEffect } from 'react' import { useState, useEffect } from 'react'
/** const useLiveTimer = (isActive = true): number => {
* 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 [currentTime, setCurrentTime] = useState(Date.now()) const [currentTime, setCurrentTime] = useState(Date.now())
useEffect(() => { useEffect(() => {
@ -26,3 +21,5 @@ export function useLiveTimer(isActive: boolean): number {
return currentTime return currentTime
} }
export default useLiveTimer

View File

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

View File

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