client.projects.wait(...) ou client.exports.wait(...) e recorrer a client.tasks.* apenas quando precisar de inspeção de tarefas de baixo nível.
client.tasks.get(taskId, options?)
Obtém o estado atual de uma tarefa pelo ID.
Status de tarefa
| Status | Terminal? | Significado |
|---|---|---|
created | Não | A tarefa foi criada, mas ainda não foi enfileirada. |
queued | Não | A tarefa está aguardando para executar. |
in-progress | Não | A tarefa está em execução no momento. |
completed | Sim | A tarefa foi concluída com sucesso. |
finalized | Sim | A tarefa foi concluída e o pós-processamento foi finalizado. |
failed | Sim | A tarefa falhou com um erro. |
cancelled | Sim | A tarefa foi cancelada. |
timed-out | Sim | A tarefa atingiu o limite de tempo. |
client.tasks.wait(taskId, options?)
Faz polling de uma tarefa até que ela atinja um estado terminal. Retorna a tarefa final em caso de sucesso e lança YoukaTaskError em caso de falha.
Opções
Milissegundos entre polls. O padrão é
2000.Cancela a espera. A requisição em andamento e qualquer atraso pendente são cancelados
imediatamente.
Erros
client.tasks.wait(...) lança YoukaTaskError quando a tarefa termina em failed, cancelled ou timed-out:
client.projects.wait(operation, options?)
Aguarde a conclusão de uma operação no escopo do projeto e, em seguida, busque novamente o projeto. Retorna o handle da operação, a tarefa terminal e o projeto atualizado.
Normalmente, o resultado de
client.projects.create(...),
client.projects.separateStems(...) ou client.projects.syncLyrics(...).client.exports.wait(operationOrId, options?)
Aguarde até que uma exportação na nuvem atinja um estado terminal. Passe o ExportOperation retornado por client.exports.create(...) ou uma string exportId.
Cancelamento
Passe umAbortSignal para cancelar uma espera demorada:
O que vem a seguir
- Errors — trate
YoukaTaskErrore erros passíveis de retry - Exports — aguarde a conclusão de uma exportação
- API async jobs — o mesmo padrão em HTTP bruto
