Автор |
Сообщение |
12/07/2019 11:06:11
|
exteris
Зарегистрирован: 25/10/2017 09:49:00
Сообщений: 38
Оффлайн
|
Мы с 1 июля формируем около 200 ВСД в день. С 1 ноября будет больше 1000. Если ждать результат от сервера минуту, то выходит 1000/60=больше 16 часов в день на формирование ВСД...
|
|
|
12/07/2019 11:11:11
|
dk
Зарегистрирован: 03/11/2017 00:49:55
Сообщений: 566
Оффлайн
|
exteris wrote:Мы с 1 июля формируем около 200 ВСД в день. С 1 ноября будет больше 1000. Если ждать результат от сервера минуту, то выходит 1000/60=больше 16 часов в день на формирование ВСД...
Тут не об этом речь. Ограничение 5 запросов в сек с одного ip.
Тут речь шла, сколько и когда делать запросы для получения результата одной транзакции. Что бессмысленно долбить сервер каждую секунду, чтобы получить результаты одной транзакции.
|
https://Меркурий.рус - Автогашение ВСД(от 250 руб. в месяц). Автоудаление просрочки. Выписка ВСД и инвентаризация по сохранённым шаблонам. Тестовый контур - БЕСПЛАТНО.
https://play.google.com/store/apps/details?id=com.skysent.mercury.rus - Android приложение для группового гашения ВСД по QR-кодам. |
|
|
12/07/2019 11:22:28
|
exteris
Зарегистрирован: 25/10/2017 09:49:00
Сообщений: 38
Оффлайн
|
Имеет смысл отправить сразу пачку запросов на формирование ВСД, подождать N минут, а потом уже получать результаты?
|
|
|
12/07/2019 11:32:02
|
oleg-x
Зарегистрирован: 20/11/2017 11:24:40
Сообщений: 2047
Оффлайн
|
exteris wrote:Имеет смысл отправить сразу пачку запросов на формирование ВСД, подождать N минут, а потом уже получать результаты?
Да. Мы сначала отправляем все на оформление, а потом уже проверяем результат.
Когда последний отправлен, уже можно получать в том же порядке результат отправки)
Это сообщение было редактировано 1 раз. Последнее обновление произошло в 12/07/2019 11:33:04
|
https://vk.com/mercuriy_rf |
|
|
12/07/2019 14:54:45
|
dk
Зарегистрирован: 03/11/2017 00:49:55
Сообщений: 566
Оффлайн
|
Мы формирует 2 очереди одну на отправку запросов, вторую для получения результата(в каждой очереди по 3 приоритета), обе очереди имеют одно ограничение: 5 запросов в секунду.
Чем дольше нет результата, тем больше времени между повторными запросами. Каждая транзакция независимая, транзакции могут быть от разных клиентов.
Получается даже если один клиент гасит 10000 ВСД, то другой в этом время без проблем выписывает новые и не замечает этого.
|
https://Меркурий.рус - Автогашение ВСД(от 250 руб. в месяц). Автоудаление просрочки. Выписка ВСД и инвентаризация по сохранённым шаблонам. Тестовый контур - БЕСПЛАТНО.
https://play.google.com/store/apps/details?id=com.skysent.mercury.rus - Android приложение для группового гашения ВСД по QR-кодам. |
|
|
15/07/2019 09:49:31
|
miskevich
Зарегистрирован: 27/12/2017 13:04:17
Сообщений: 139
Оффлайн
|
egais2018 wrote:Читается как: "пусть хоть все не смогут работать, а мы и дальше будем DDoS-ить Меркурий раз в секунду". XD
Вы ждете ответа от сервера или сразу через секунду после посыла повторяете запрос? Попробуйте ради эксперимента увеличить в несколько раз. А может реализовать динамическую задержку ;D
А я же писал в основном посте, что prdcRsltDate не игнорируется. Первый запрос на получение ответа отправляется в указанное время + 1 секунда.
|
|
|
15/07/2019 09:51:28
|
miskevich
Зарегистрирован: 27/12/2017 13:04:17
Сообщений: 139
Оффлайн
|
dk wrote: Каждая транзакция независимая, транзакции могут быть от разных клиентов.
Как это реализуется? Разные логины или ХС?
Ваше решение работает на одном сервере и одном IP?
|
|
|
15/07/2019 17:39:41
|
dk
Зарегистрирован: 03/11/2017 00:49:55
Сообщений: 566
Оффлайн
|
miskevich wrote:
egais2018 wrote:Читается как: "пусть хоть все не смогут работать, а мы и дальше будем DDoS-ить Меркурий раз в секунду". XD
Вы ждете ответа от сервера или сразу через секунду после посыла повторяете запрос? Попробуйте ради эксперимента увеличить в несколько раз. А может реализовать динамическую задержку ;D
А я же писал в основном посте, что prdcRsltDate не игнорируется. Первый запрос на получение ответа отправляется в указанное время + 1 секунда.
prdcRsltDate = Дата и время получения результата выполнения заявки. При получение этой даты можно сказать транзакция закрывается.
Если имеется ввиду Объект submitApplicationRequest/application rcvDate - то это дата постановки задачи в очередь, т.е. дата получения applicationId.
Не понятно, что значит "prdcRsltDate не игнорируется"? То, что вы запрашиваете результат заявки, только после получения rcvDate и соответственно applicationId, а не до этого, видимо без applicationId не получалось результат запрашивать))
Получается вы начинаете запрашивать Меркурий через 1 секунду после постановки задачи в очередь.
P.S. Вот по prdcRsltDate как раз можно определить разницу по времени, когда меркурий подготовил результат транзакции и ваша программа получила этот результат, т.е. проигрыш по времени.
|
https://Меркурий.рус - Автогашение ВСД(от 250 руб. в месяц). Автоудаление просрочки. Выписка ВСД и инвентаризация по сохранённым шаблонам. Тестовый контур - БЕСПЛАТНО.
https://play.google.com/store/apps/details?id=com.skysent.mercury.rus - Android приложение для группового гашения ВСД по QR-кодам. |
|
|
|