RoboTradeCode / configurator

Предназначен для предоставления гейтам и ядру конфигураций и информации о тогуемых рынках
0 stars 1 forks source link

Проблема с обновлением конфига #29

Closed ckatpskov closed 2 years ago

ckatpskov commented 2 years ago

На сервере конфигуратора внес изменения в конфиг для ftx. Запросил конфиг у агента и мне пришел json без моих изменений. И секция "routes" пустая: "routs": []

khanbekov commented 2 years ago

Можешь описать порядок действий? Что-то вроде:

  1. добавил в файл _configs/ftx/test/gateconfig.json строку api_key: 112345678.

  2. Добавил в configs/ftx/test/assets.txt ассет BNB

  3. Запросил конфигурацию по адресу https://configurator.robotrade.io/ftx/test?only_new=false

Я это спрашиваю, потому что сейчас попробовал сам проделать это, и у меня всё работает. Скорее всего, просто неправильный порядок действий при добавлении изменений. Если это так, надо изменить документацию, чтобы не возникало проблем в будущем

ckatpskov commented 2 years ago

Я запрашиваю конфиг через гейт. После твоего сообщения попробовал через браузер, а потом через гейт: возвращает данные, которые я изменял перед тем как создавать issue. Вопрос, почему раньше возвращал не так (Ты ничего не перегружал?). Сейчас я опять изменил значение ключа api_key в файле configurator/configs/ftx/1/sessions/gate_config.json и опять агент мне возвращает не то что я изменил, а по адресу в браузере все нормально. Все равно где-то косяк. Или в агенте, хотя Александр сказал, что агент не хранить конфиги, а только перенаправляет их от конфигуратора.

khanbekov commented 2 years ago

на сервере только добавил новый инстанс для ftx, под названием "test". А почему через браузер и через Agent разные данные - не знаю, это проблема не в Configurator. Он и не знает, кто у него запрашивает, он просто получает запрос и обрабатывает его, одинаково для всех.

Я пока не прикручивал Agent к своим гейтам, поэтому не могу сказать, есть ли какие-то особенности в этом.

Перепроверь, какие инстансы ты запрашиваешь, может быть указан неправильный. Я посмотрел на сервере, там есть инстансы 1 и 2

81xx commented 2 years ago

@ckatpskov я сейчас проверил вручную:

  1. Подключился к https://configurator.robotrade.io/ftx/test?only_new=false
  2. Получил конфиг
  3. Далее подключился к серваку и подправил файлик конфига
  4. Пошел сюда https://configurator.robotrade.io/ftx/test?only_new=false
  5. И увидел все изменения.

Ты можешь воссоздать ту ошибку что у тебя была?

ckatpskov commented 2 years ago

Вопрос закрыт. Помогла перезагрузка медиадрайвера (хотя он не с первого раза перегружался). Пришлось удалить содержимое папки /dev/shm/aeron- и на всякий случай перегрузить комп. Теперь и медиадрайвер перегружается с первого раза и json гейту приходит с изменениями. @khanbekov @nomnoms12

nomnoms12 commented 2 years ago

@ckatpskov Я думаю, что дело в очереди. Запущенный медиа-драйвер на некоторое время сохраняет поступившие сообщения и ожидает их чтения экземпляром подписчика. Могло произойти следующее:

  1. Гейт запросил конфигурацию
  2. Агент послал конфигурацию
  3. Гейт прочитал конфигурацию
  4. Агент в фоновом режиме посылал конфигурации в канал, но гейт их не читал
  5. Гейт запросил конфигурацию
  6. Гейт прочитал неактуальную конфигурацию, которую Агент ранее посылал в канал

В ближайшее время я постараюсь более подробно задокументировать это поведение