diff-temporal
1 removal
Words removed | 1 |
Total words | 135 |
Words removed (%) | 0.74 |
59 lines
6 additions
Words added | 12 |
Total words | 146 |
Words added (%) | 8.22 |
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,
};
};
};
};