Для knex вы хотели бы добавить срок действия, так как он кэширует информацию о вашем соединении и использует ее каждый раз.
По умолчанию объект конфигурации, полученный через функцию, кэшируется и повторно используется для всех соединений. Чтобы изменить это поведение, функция expirationChecker может быть возвращена как часть объекта конфигурации. С expirationChecker консультируются перед попыткой создания новых соединений, и в случае, если он возвращает значение true, извлекается новый объект конфигурации. Например, для работы с токеном аутентификации, который имеет ограниченный срок службы:
var knex = require('knex')({
client: 'postgres',
connection: async () => {
const { token, tokenExpiration } = await someCallToGetTheToken();
return {
host : 'your_host',
user : 'your_database_user',
password : token,
database : 'myapp_test',
expirationChecker: () => {
return tokenExpiration <= Date.now();
}
};
}
});
Подробнее здесь: git репо
и здесь: knex официальный