Написать библиотеку на php

25 000 руб. за проект
23 ноября 2022, 10:54 • 5 откликов • 112 просмотров
Требования к библиотеки:

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