Опис проєкту
ПерекладКонкретно сервіс має покривати три великі сім'ї. Офісні та текстові документи мають конвертуватися один в одного та в обидва боки з PDF. Зображення мають переводитися між поширеними растровими та векторними форматами, включаючи постраничні. Аудіо та відео мають конвертуватися між звичайними контейнерами та кодеками, включаючи витягання звукової доріжки з відео. Це свідомо не CDN для картинок, який лише ресайзить фото на льоту, і не вузький транскодер лише для відео; смисл саме в широкій конвертації багато-до-багатьох між документами, зображеннями та медіа за одним єдиним інтерфейсом.
Робота має бути асинхронною, тому що одні завдання займають секунди, а інші хвилини. Чекаємо REST API для поставлення завдання та отримання його ідентифікатора, чергу та пул воркерів, які обробляють завдання без блокування викликаючого, можливість опитувати статус та вебхук-колбек при завершенні або помилці з підписаним тілом запиту. Закладіть розумні ліміти, зрозумілі повідомлення про помилки для непідтримуваних або пошкоджених вхідних даних та просте горизонтальне масштабування воркерів. Ми надамо тестові файли для кожної сім'ї форматів та чекаємо коротку інструкцію по експлуатації.
— REST-ендпоінти для поставлення завдання, перевірки статусу та скачування результату
— Асинхронна черга з пулом воркерів та повтором при тимчасових збоях
— Підписані вебхук-колбеки при успіху та при помилці
— Підтримка сімей форматів: документи, зображення, аудіо та відео
— Ліміти на розмір файлу та частоту запитів, зрозумілі помилки для поганого вводу
— Розгортання через Docker та коротка інструкція по експлуатації