diff-temporal
1 removal
Lines | |
---|---|
Total | 59 |
Removed | -1.7%1 |
Words | |
Total | 135 |
Removed | -0.7%1 |
59 lines
6 additions
Lines | |
---|---|
Total | 62 |
Added | +8.1%5 |
Words | |
Total | 146 |
Added | +8.2%12 |
62 lines
export const createStockAvatar: WorkflowTypes['createStockAvatar']['signature'] =
export const createStockAvatar: WorkflowTypes['createStockAvatar']['signature'] =
async (args) => {
async (args) => {
const {
const {
script,
script,
locale,
locale,
voiceId,
voiceId,
actorId,
actorId,
uploadUrl,
uploadUrl,
} = args;
} = args;
const { workflowId } = workflowInfo();
const { workflowId } = workflowInfo();
// Some logic...
// Some logic...
const { providerClipId } = await startAvatarGeneration({
const { providerClipId } = await startAvatarGeneration({
script,
script,
voiceId,
voiceId,
actorId,
actorId,
workflowId,
workflowId,
uploadUrl,
uploadUrl,
locale,
locale,
});
});
let generationStatus: PipioClipGeneratingStatusEnum | null = null;
let generationStatus: PipioClipGeneratingStatusEnum | null = null;
let webhookResponse: PipioClipWebhookBody | null = null;
let webhookResponse: PipioClipWebhookBody | null = null;
setHandler(createStockAvatarProgressSignal, async (response) => {
setHandler(createStockAvatarProgressSignal, async (response) => {
// Some logic...
// Some logic...
webhookResponse = response;
webhookResponse = response;
});
});
setHandler(createStockAvatarFinishedSignal, (response) => {
setHandler(createStockAvatarFinishedSignal, (response) => {
generationStatus = PipioClipGeneratingStatusEnum.Done;
generationStatus = PipioClipGeneratingStatusEnum.Done;
webhookResponse = response;
webhookResponse = response;
});
});
setHandler(createStockAvatarErrorSignal, (response) => {
setHandler(createStockAvatarErrorSignal, (response) => {
generationStatus = PipioClipGeneratingStatusEnum.Error;
generationStatus = PipioClipGeneratingStatusEnum.Error;
webhookResponse = response;
webhookResponse = response;
});
});
await condition(() => generationStatus !== null);
const timeout = 300000; // 5mins
await condition(() => generationStatus !== null, timeout);
if (
if (
generationStatus === PipioClipGeneratingStatusEnum.Error
generationStatus === PipioClipGeneratingStatusEnum.Error ||
generationStatus === null
) {
) {
// Some logic...
// Some logic...
throw ApplicationFailure.create({
throw ApplicationFailure.create({
message: 'Stock Avatar: error signal received',
message: 'Stock Avatar: error signal received',
nonRetryable: true,
nonRetryable: true,
});
});
} else if (generationStatus === PipioClipGeneratingStatusEnum.Done) {
} else if (generationStatus === PipioClipGeneratingStatusEnum.Done) {
// Some logic...
// Some logic...
}
}
return {
return {
clipId: workflowId,
clipId: workflowId,
providerClipId,
providerClipId,
};
};
};
};