Skip to content

Commit af331a1

Browse files
committed
more tests and fixes
1 parent d96bd76 commit af331a1

File tree

3 files changed

+223
-39
lines changed

3 files changed

+223
-39
lines changed

packages/core/src/v3/lifecycleHooks/manager.ts

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
5757

5858
this.globalStartHooks.set(id, {
5959
id,
60-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
60+
name: hook.id,
6161
fn: hook.fn,
6262
});
6363
}
@@ -70,7 +70,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
7070

7171
this.taskStartHooks.set(taskId, {
7272
id,
73-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
73+
name: hook.id,
7474
fn: hook.fn,
7575
});
7676
}
@@ -89,7 +89,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
8989

9090
const registeredHook = {
9191
id,
92-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
92+
name: hook.id,
9393
fn: hook.fn,
9494
};
9595

@@ -122,7 +122,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
122122

123123
this.globalFailureHooks.set(id, {
124124
id,
125-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
125+
name: hook.id,
126126
fn: hook.fn,
127127
});
128128
}
@@ -135,7 +135,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
135135

136136
this.taskFailureHooks.set(taskId, {
137137
id,
138-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
138+
name: hook.id,
139139
fn: hook.fn,
140140
});
141141
}
@@ -153,7 +153,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
153153

154154
this.globalSuccessHooks.set(id, {
155155
id,
156-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
156+
name: hook.id,
157157
fn: hook.fn,
158158
});
159159
}
@@ -166,7 +166,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
166166

167167
this.taskSuccessHooks.set(taskId, {
168168
id,
169-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
169+
name: hook.id,
170170
fn: hook.fn,
171171
});
172172
}
@@ -184,7 +184,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
184184

185185
this.globalCompleteHooks.set(id, {
186186
id,
187-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
187+
name: hook.id,
188188
fn: hook.fn,
189189
});
190190
}
@@ -197,7 +197,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
197197

198198
this.taskCompleteHooks.set(taskId, {
199199
id,
200-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
200+
name: hook.id,
201201
fn: hook.fn,
202202
});
203203
}
@@ -215,7 +215,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
215215

216216
this.globalWaitHooks.set(id, {
217217
id,
218-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
218+
name: hook.id,
219219
fn: hook.fn,
220220
});
221221
}
@@ -228,7 +228,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
228228

229229
this.taskWaitHooks.set(taskId, {
230230
id,
231-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
231+
name: hook.id,
232232
fn: hook.fn,
233233
});
234234
}
@@ -246,7 +246,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
246246

247247
this.globalResumeHooks.set(id, {
248248
id,
249-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
249+
name: hook.id,
250250
fn: hook.fn,
251251
});
252252
}
@@ -259,7 +259,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
259259

260260
this.taskResumeHooks.set(taskId, {
261261
id,
262-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
262+
name: hook.id,
263263
fn: hook.fn,
264264
});
265265
}
@@ -279,7 +279,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
279279

280280
this.globalCatchErrorHooks.set(id, {
281281
id,
282-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
282+
name: hook.id,
283283
fn: hook.fn,
284284
});
285285
}
@@ -292,7 +292,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
292292

293293
this.taskCatchErrorHooks.set(taskId, {
294294
id,
295-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
295+
name: hook.id,
296296
fn: hook.fn,
297297
});
298298
}
@@ -312,7 +312,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
312312

313313
this.globalMiddlewareHooks.set(id, {
314314
id,
315-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
315+
name: hook.id,
316316
fn: hook.fn,
317317
});
318318
}
@@ -325,7 +325,7 @@ export class StandardLifecycleHooksManager implements LifecycleHooksManager {
325325

326326
this.taskMiddlewareHooks.set(taskId, {
327327
id,
328-
name: hook.id ?? hook.fn.name ? (hook.fn.name === "" ? undefined : hook.fn.name) : undefined,
328+
name: hook.id,
329329
fn: hook.fn,
330330
});
331331
}
@@ -507,9 +507,5 @@ export class NoopLifecycleHooksManager implements LifecycleHooksManager {
507507
}
508508

509509
function generateHookId(hook: RegisterHookFunctionParams<any>): string {
510-
return hook.id ?? hook.fn.name
511-
? hook.fn.name === ""
512-
? hook.fn.toString()
513-
: hook.fn.name
514-
: hook.fn.toString();
510+
return hook.id ?? hook.fn.toString();
515511
}

packages/core/src/v3/workers/taskExecutor.ts

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,8 @@ import { VERSION } from "../../version.js";
33
import { ApiError, RateLimitError } from "../apiClient/errors.js";
44
import { ConsoleInterceptor } from "../consoleInterceptor.js";
55
import { isInternalError, parseError, sanitizeError, TaskPayloadParsedError } from "../errors.js";
6-
import {
7-
flattenAttributes,
8-
lifecycleHooks,
9-
runMetadata,
10-
TriggerConfig,
11-
waitUntil,
12-
} from "../index.js";
6+
import { flattenAttributes, lifecycleHooks, runMetadata, waitUntil } from "../index.js";
7+
import { TaskCompleteResult } from "../lifecycleHooks/types.js";
138
import { recordSpanException, TracingSDK } from "../otel/index.js";
149
import { runTimelineMetrics } from "../run-timeline-metrics-api.js";
1510
import {
@@ -25,7 +20,6 @@ import { SemanticInternalAttributes } from "../semanticInternalAttributes.js";
2520
import { taskContext } from "../task-context-api.js";
2621
import { TriggerTracer } from "../tracer.js";
2722
import { HandleErrorFunction, TaskMetadataWithFunctions } from "../types/index.js";
28-
import { UsageMeasurement } from "../usage/types.js";
2923
import {
3024
conditionallyExportPacket,
3125
conditionallyImportPacket,
@@ -34,7 +28,6 @@ import {
3428
stringifyIO,
3529
} from "../utils/ioSerialization.js";
3630
import { calculateNextRetryDelay } from "../utils/retries.js";
37-
import { TaskCompleteResult } from "../lifecycleHooks/types.js";
3831

3932
export type TaskExecutorOptions = {
4033
tracingSDK: TracingSDK;
@@ -134,12 +127,12 @@ export class TaskExecutor {
134127
try {
135128
parsedPayload = await this.#parsePayload(parsedPayload);
136129

130+
initOutput = await this.#callInitFunctions(parsedPayload, ctx, signal);
131+
137132
if (execution.attempt.number === 1) {
138-
await this.#callOnStartFunctions(parsedPayload, ctx, signal);
133+
await this.#callOnStartFunctions(parsedPayload, ctx, initOutput, signal);
139134
}
140135

141-
initOutput = await this.#callInitFunctions(parsedPayload, ctx, signal);
142-
143136
const output = await this.#callRun(parsedPayload, ctx, initOutput, signal);
144137

145138
try {
@@ -573,7 +566,12 @@ export class TaskExecutor {
573566
}
574567
}
575568

576-
async #callOnStartFunctions(payload: unknown, ctx: TaskRunContext, signal?: AbortSignal) {
569+
async #callOnStartFunctions(
570+
payload: unknown,
571+
ctx: TaskRunContext,
572+
initOutput: any,
573+
signal?: AbortSignal
574+
) {
577575
const globalStartHooks = lifecycleHooks.getGlobalStartHooks();
578576
const taskStartHook = lifecycleHooks.getTaskStartHook(this.task.id);
579577

@@ -592,7 +590,7 @@ export class TaskExecutor {
592590
await this._tracer.startActiveSpan(
593591
hook.name ?? "global",
594592
async (span) => {
595-
await hook.fn({ payload, ctx, signal, task: this.task.id });
593+
await hook.fn({ payload, ctx, signal, task: this.task.id, init: initOutput });
596594
},
597595
{
598596
attributes: {
@@ -606,7 +604,13 @@ export class TaskExecutor {
606604
await this._tracer.startActiveSpan(
607605
"task",
608606
async (span) => {
609-
await taskStartHook({ payload, ctx, signal, task: this.task.id });
607+
await taskStartHook({
608+
payload,
609+
ctx,
610+
signal,
611+
task: this.task.id,
612+
init: initOutput,
613+
});
610614
},
611615
{
612616
attributes: {

0 commit comments

Comments
 (0)