Написать библиотеку на GO
1. Должна держать подключение. Должна использовать keep-alive https://github.com/ZennoLab/capmonstercloud-client..
2. Должна корректно реагировать на наши ошибки и прекращать делать запросы за заданием https://zennolab.atlassian.net/wiki/spaces/APIS/pa... + https://github.com/ZennoLab/capmonstercloud-client...
3. Должна корректно следить за тем чтобы не превышать лимиты по запросам https://github.com/ZennoLab/capmonstercloud-client-dotnet/blob/9eadb2ac19c802b08a60ecabad3ef9614623ec8a/CapMonsterCloud.Client/CapMonsterCloudClient_GetResultTimeouts.cs
4. Нужно поставить timeoute на запрос 21 секунду. Через 20 секунд nginx выкинет ошибку 5хх https://github.com/ZennoLab/capmonstercloud-client...
5. Должна учитывать суммарный timeoute, что через 160 сек после создание задачи нет смысла делать запросы getTaskResult за заданием. https://github.com/ZennoLab/capmonstercloud-client... и https://github.com/ZennoLab/capmonstercloud-client...
6. При запросе getTaskResult 503 ошибки (Service Unavailable) - можно игнорировать, возможно система перегружена. https://github.com/ZennoLab/capmonstercloud-client...
7. По таймингам запросов capmonstercloud-client-dotnet/CapMonsterCloudClient_GetResultTimeouts.cs at main · ZennoLab/capmonstercloud-client-dotnet
8. При отправке HTTP запросов передавать уникальный UserAgent для каждой библиотеки в формате "<имя бибилиотеки>/<версия>" (в dotnet вот так - "Zennolab.CapMonsterCloud.Client/1.1.5"). Код из клиента для dotnet - https://github.com/ZennoLab/capmonstercloud-client-dotnet/blob/a640e8317c16e829104[…]a35cf0a3/CapMonsterCloud.Client/CapMonsterCloudClientFactory.cs
9. Добавить Soft ID 58 (передается в методе createTask)