项目描述
翻译具体来说,服务必须涵盖三个广泛的类别。办公和文本文件必须相互转换,并且可以相互转换为PDF。图像必须在常见的光栅和矢量格式之间转换,包括多页。音频和视频必须在常见的容器和编解码器之间转换,包括从视频中提取音频。这故意不是一个仅在飞行中调整照片大小的图像CDN,也不是一个狭窄的视频专用转码器;关键是通过一个统一的接口在文档、图像和媒体之间进行广泛的多对多转换。
工作必须是异步的,因为某些任务需要几秒钟,而其他任务需要几分钟。我们期望有一个用于任务提交和获取ID的REST API,一个处理任务而不阻塞调用者的队列和工作池,能够轮询状态,以及在完成或出错时带有签名请求体的网络钩子回调。建立合理的限制,清晰的错误消息以应对不支持或损坏的输入,以及简单的工作者水平扩展。我们将为每个格式类别提供测试文件,并期望有一个简短的操作指南。
— 用于任务提交、状态检查和结果下载的REST端点
— 带有工作池和在瞬态故障时重试的异步队列
— 成功和错误时的签名网络钩子回调
— 对格式类别的支持:文档、图像、音频和视频
— 文件大小限制和请求速率限制,对错误输入的清晰错误提示
— Docker部署和简要操作指南