Мой экземпляр Redis работает в контейнере докеров на виртуальной машине Azure. Я подключаюсь к тому же экземпляру из своего локального приложения, а также из своего приложения Azure. Оба имеют одинаковую базу кода, но после некоторого времени простоя в обеих средах, если я пытаюсь запустить свое приложение Azure, оно перестает отвечать. Если я проверю журнал Redis, он показывает только 2 клиента (1 из них сам cli). Итак, я вижу, что мое подключение Redis из Azure завершено, но в моем журнале приложений Azure нет записи о конце подключения. Я использую node_redis для подключения к redis из приложения. Я использую следующую стратегию повторных попыток, которая приведена в качестве примера на node_redis.
retry_strategy: function (options) {
if (options.error && options.error.code === 'ECONNREFUSED') {
// End reconnecting on a specific error and flush all commands with
// a individual error
return new Error('The server refused the connection');
}
if (options.total_retry_time > 1000 * 60 * 60) {
// End reconnecting after a specific timeout and flush all commands
// with a individual error
return new Error('Retry time exhausted');
}
if (options.attempt > 10) {
// End reconnecting with built in error
return undefined;
}
// reconnect after
return Math.min(options.attempt * 100, 3000);
}
Мне не хватает какой-либо конфигурации на стороне Azure, которую необходимо выполнить?