Да, это проблема параллелизма.
Чтобы это исправить, вам придется немного изменить архитектуру, но у меня недостаточно информации.
- Является ли код, работающий в бэкэнде, тем же, что и код в вашем приложении rails?
- Используют ли разные базы данных одну и ту же модель?
- Сколько у вас разных баз данных? Растет ли это число?
По сути, если у вас небольшое и фиксированное количество баз данных, самое простое - использовать разные процессы ruby.
Если у вас разные базы данных с разными моделями, вы можете использовать разные базовые классы:
AppA < ActiveRecord::Base
Model1 < AppA
Model2 < AppA
AppB < ActiveRecord::Base
Model3 < AppB
Тогда вы можете позвонить
AppA.establish_connection(...)
AppB.establish_connection(...)
в разные базы данных.