Я недавно внедрил кластер Node как способ вертикального масштабирования моего приложения. Поскольку теперь он использует несколько потоков, я, естественно, добавил в приложение стресс-тесты, и это выявило проблему с моим приложением.
Так что ради этого вопроса я действительно упросту мою настройку. У меня есть кластерное приложение Node, и каждый из дочерних процессов обращается к одному и тому же файлу SQLite. Я знаю, что это не идеальное решение, но, насколько мне известно, когда параллельные запросы пытаются получить к нему доступ, последний должен ждать, пока база данных станет свободной. К сожалению, этого не происходит.
Я получаю следующую ошибку
Ошибка: SQLITE_BUSY: база данных заблокирована
код ошибки: 5, код: «SQLITE_BUSY»
Моя конфигурация
"sqlite": {
"client": "sqlite3",
"connection": {
"filename": "app/database/database.sqlite"
},
"useNullAsDefault" : true,
"pool": {
"min": 1,
"max": 1 <- i tried increasing this to the number of cluster instances
}
}
Есть ли решение для этого, кроме удаления SQLite в целом?