Você está procurando entregar um objeto obsoleto do cache. Isso pode ser feito em caso de erro, tempo limite para o back-end ou durante a atualização.
proxy_cache_use_stale updating error timeout;
Eu uso ngx_http_proxy_module
com proxy_ignore_client_abort
para arquivos de cache. Então, quando o cliente fechar a conexão, o nginx continuará copiando o arquivo do backend para o servidor atual.
Mas quando outro usuário tentar obter este arquivo (que ainda está copiando), o nginx irá para o backend para obter uma nova cópia do arquivo e tentará armazená-lo em cache também.
Eu posso usar proxy_cache_lock
para evitar isso. Mas é uma má ideia, porque o arquivo pode ser muito grande e terá muito tempo para esperar enquanto o arquivo será armazenado em cache.
Como posso dizer ao nginx para ler este arquivo temporário e não esperar até que o arquivo seja armazenado em cache?
Você está procurando entregar um objeto obsoleto do cache. Isso pode ser feito em caso de erro, tempo limite para o back-end ou durante a atualização.
proxy_cache_use_stale updating error timeout;