2016-11-07 2 views
0

J'ai besoin de vernis pour retourner les données directement et mettre à jour le cache à chaque fois que le backend est correct. J'ai également besoin de vernis pour retourner les dernières données beresq normales du cache lorsque le backend est en panne. Comment shuold je fais avec du vernis?Comment utiliser le vernis pour transmettre des données lorsque le backend est correct && retourner le dernier beresq normal lorsque le backend est en panne?

+0

Je viens juste de le tailler. – Anien

Répondre

0

Je viens juste de le tailler. Lorsque le backend est en place, utilisez req.hash_always_miss = true pour transmettre les données. Lorsque le backend est en panne, répondez à FEATCH_FAILED et utilisez vcl_synth pour redémarrer recv.

vcl 4.0; 

backend default { 
    .host = "127.0.0.1"; 
    .port = "4567"; 
} 

sub vcl_recv { 
    if (req.restarts == 0) { 
     set req.hash_always_miss=true; 
    } else { 
     set req.hash_always_miss=false; 
    } 
} 

sub vcl_backend_error { 
    return (abandon); 
} 

sub vcl_synth { 
    return (restart); 
}