Почему АПИ медленно работают?

Комментарии

Комментариев: 16

  • Roman Bolgov

    Вы, конечно, свалили все в одну кучу... Но МС это не оправдывает.

    Да, МС не использует в веб-интерфейсе свой-же API. Это понятно и по скорости, и по отсутствию возможности через API делать то, что умеет вебинтерфейс, касаемо фильтрации.

    Это хорошо что еще запрос выполнился не вылетев по таймауту у Вас... :) 
     
    Мое личное решение в одном: я кеширую основные сведения о сущностях/документах и их связях по которым фильтрую на своей стороне в базе находя нужные идентификаторы. Это не сложно сделать. И когда получаются простые идентификаторы нужных документов - их через API можно быстро запросить. Одна беда, вебхуками, или с n-периодичностью нужно кеш свой актуализировать.. 

    1
    Действия с комментариями Постоянная ссылка
  • Максим

    я тоже храню идентификаторы. например для формирования заказов в МС. Но мне так же надо периодически скачивать заказы из МС. вот тут-то и кроется главная проблема.

    1
    Действия с комментариями Постоянная ссылка
  • Вебхуками не стоит. В текущей версии АПИ можно ставить только 1 вебхук на сущность, поэтому использование вебхуков в своих скриптах является блокиратором интеграций с другими сервисами (например, с RetailCRM), которым тоже нужны вебхуки. Grr.

    Для себя сделали итеративную выгрузку всего по ключу (updated, id) раз в 2 минуты.

    Не смотря на все улучшения, АПИ по большей частью остаётся лишь инструментом для импорта-экспорта данных, и для нормальной работы приходится хранить у себя полную копию всего.

    0
    Действия с комментариями Постоянная ссылка
  • Roman Bolgov

    Поскольку тут форум разработчиков, то по своим личным наблюдениям, фишка для удобства дебага, стала абсолютной "must have" для меня самого. Может кому-то понравится, и кто-то тоже возьмет на вооружение:

    Сохраняю информацию о вебхуках, а также запросы в API и полученные ответы временно в базе. Небольшой лог с ротацией за 3-5 последних дней. Когда случается раскосяк какой-то удобно по логам отловить.

    В логах храню направление запроса (исходящий/входящий) , метод (GET, PUT..), http код ответа, с какого IP ушло, с какого пришло, время отправки, время приема, какое было тело запроса, какой был ответ от МС ограничиваю первыми 2000 символами (а то подчас даже размещая в LONG_TEXT не хотел). 

    Это не раз спасало часы забот и отлов проблем... 

     

    0
    Действия с комментариями Постоянная ссылка
  • Максим

    мда. интеграция удобная. а если хуки перестанут приходить. например на изменение заказа (судя по темам такое бывает не редко). как вы потом определите - какие изменения произошли за этот период?

    а где поддержка? третий день тема висит. а ответ, так и не соблаговолили дать

    0
    Действия с комментариями Постоянная ссылка
  • Ivan Pivkin

    Добрый день!
    В плане разработки на ближайшие полгода есть задача на реализацию асинхронных запросов, что позволит комфортнее работать с большими данными.

     

    0
    Действия с комментариями Постоянная ссылка
  • Максим

    здорово. а что нам делать пол года?

    0
    Действия с комментариями Постоянная ссылка
  • Максим

    и почему запросы по АПИ со 100 позициями 5-6 секунд выполняются? у вас в планах есть исправление этого?

    0
    Действия с комментариями Постоянная ссылка
  • Ivan Pivkin

    Максим, при ваших запросах к АПИ применяется фильтрация, что накладывает дополнительные затраты по времени. При выгрузке в Excel такой фильтрации нет.

    Необходимо понимать, что АПИ не только делает запрос к базе данных, а имеет большую бизнес-логику, прежде чем сформировать запрос - применить фильтры, параметры, валидация и т.д.

    Для решения вашей проблемы, как было отмечено другими пользователями, стоит использовать вебхуки.

    0
    Действия с комментариями Постоянная ссылка
  • Максим

    судя по темам в сообществе - ваши хуки периодически отваливаются. ок. у вас там жутко хитрая фильтрация применяется. увеличьте тогда лимит количества сущностей в запросе.

    0
    Действия с комментариями Постоянная ссылка
  • Максим

    кроме того у нас хуки на заказы уже заняты. а у вас можно поставить только одну хуку на одно событие. есть еще варианты?

    0
    Действия с комментариями Постоянная ссылка
  • Увеличение лимитов, а также увеличение числа возможных веб-хуков на одну сущность запланированы в следующей версии. 

    Сейчас единственный вариант - пользоваться существующими веб-хуками. При корректном их создании и корректной работе принимающего скрипта на вашей стороне проблем с ними возникать не должно. 

    Если же вы опасаетесь, что проблемы с веб-хуками таки будут происходить, для надежности, например раз в день ,вы можете проводить полную синхронизацию данный.

    Других вариантов в текущей ситуации мы предложить не сможем.

    0
    Действия с комментариями Постоянная ссылка
  • Максим

    ребята, вы лучшие! хочу у вас работать

    0
    Действия с комментариями Постоянная ссылка
  • Юлия Харитонова

    Ничего невозможного нет, Максим.

     

    resume@moysklad.ru

    0
    Действия с комментариями Постоянная ссылка
  • Максим

    что по зп?

    0
    Действия с комментариями Постоянная ссылка
  • 0
    Действия с комментариями Постоянная ссылка

Войдите в службу, чтобы оставить комментарий.