improvement(functions): increase function block timeout to 3 min (#1641)

* improvement(functions): increase function block timeout to 3 min

* fix tests

* use shared constant

* remove comment
This commit is contained in:
Vikhyath Mondreti
2025-10-15 11:52:02 -07:00
committed by GitHub
parent 061c1dff4e
commit fd67fd220c
6 changed files with 27 additions and 12 deletions

View File

@@ -1,4 +1,5 @@
import { beforeEach, describe, expect, it, type Mock, vi } from 'vitest'
import { DEFAULT_EXECUTION_TIMEOUT_MS } from '@/lib/execution/constants'
import { BlockType } from '@/executor/consts'
import { FunctionBlockHandler } from '@/executor/handlers/function/function-handler'
import type { ExecutionContext } from '@/executor/types'
@@ -82,7 +83,7 @@ describe('FunctionBlockHandler', () => {
workflowVariables: {},
blockData: {},
blockNameMapping: {},
_context: { workflowId: mockContext.workflowId },
_context: { workflowId: mockContext.workflowId, workspaceId: mockContext.workspaceId },
}
const expectedOutput: any = { result: 'Success' }
@@ -116,7 +117,7 @@ describe('FunctionBlockHandler', () => {
workflowVariables: {},
blockData: {},
blockNameMapping: {},
_context: { workflowId: mockContext.workflowId },
_context: { workflowId: mockContext.workflowId, workspaceId: mockContext.workspaceId },
}
const expectedOutput: any = { result: 'Success' }
@@ -138,12 +139,12 @@ describe('FunctionBlockHandler', () => {
code: inputs.code,
language: 'javascript',
useLocalVM: true,
timeout: 5000, // Default timeout
timeout: DEFAULT_EXECUTION_TIMEOUT_MS,
envVars: {},
workflowVariables: {},
blockData: {},
blockNameMapping: {},
_context: { workflowId: mockContext.workflowId },
_context: { workflowId: mockContext.workflowId, workspaceId: mockContext.workspaceId },
}
await handler.execute(mockBlock, inputs, mockContext)

View File

@@ -1,3 +1,4 @@
import { DEFAULT_EXECUTION_TIMEOUT_MS } from '@/lib/execution/constants'
import { DEFAULT_CODE_LANGUAGE } from '@/lib/execution/languages'
import { createLogger } from '@/lib/logs/console/logger'
import { BlockType } from '@/executor/consts'
@@ -61,7 +62,7 @@ export class FunctionBlockHandler implements BlockHandler {
code: codeContent,
language: inputs.language || DEFAULT_CODE_LANGUAGE,
useLocalVM: !inputs.remoteExecution,
timeout: inputs.timeout || 5000,
timeout: inputs.timeout || DEFAULT_EXECUTION_TIMEOUT_MS,
envVars: context.environmentVariables || {},
workflowVariables: context.workflowVariables || {},
blockData: blockData, // Pass block data for variable resolution