moysklad-extension-queue

0.2.1 • Public • Published

moysklad-extension-queue

Расширение для библиотеки moysklad

Добавляет возможность котролировать поток запросов. Используется для избежания ошибки 429 при интенсивном обмене с API.

Установка

$ npm install moysklad-extension-queue

Использование

const MoyskladQueue = require('moysklad-extension-queue')
const MoyskladCore = require('moysklad')

const Moysklad = MoyskladCore.compose(MoyskladQueue)

const moysklad = Moysklad({
  queue: true // включение очереди запросов
})

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

const Moysklad = MoyskladCore.compose(MoyskladQueue)
const moysklad1 = Moysklad({ queue: true })
const moysklad2 = Moysklad({ queue: true })
const moysklad3 = MoyskladCore.compose(MoyskladQueue).create({ queue: true })

// для moysklad1, moysklad2 и moysklad3 будет общая очередь

Для каждого логина автоматически создается отдельная очередь.

const moysklad1 = Moysklad({
  login: 'user1@account',
  password: '****',
  queue: true
})

const moysklad2 = Moysklad({
  login: 'user2@account',
  password: '****',
  queue: true
})

// для moysklad1 и moysklad2 очереди будут разные

Настройка

Можно указать параметры очереди

const moysklad = Moysklad({
  queue: {
    period: 5500,
    tasksPerPeriod: 100,
    parallelTasks: 50
  }
})
Параметр Ограничение МойСклад По умолчанию Описание
period 3000 3100 период (мс) на который ставится ограничение по максимальному кол-ву запросов
tasksPerPeriod 45 44 максимальное кол-во запросов за период period
parallelTasks 5 5 максимальное кол-во параллельных запросов

Или в глобальных переменных

MOYSKLAD_QUEUE_PERIOD_MS=3000
MOYSKLAD_QUEUE_PERIOD_TASKS=45
MOYSKLAD_QUEUE_PARALLEL_TASKS=5

Официальная информация по лимитам

/moysklad-extension-queue/

    Package Sidebar

    Install

    npm i moysklad-extension-queue

    Weekly Downloads

    2

    Version

    0.2.1

    License

    MIT

    Unpacked Size

    20.8 kB

    Total Files

    10

    Last publish

    Collaborators

    • wmakeev