Nginx:時間通り

SSIの小さなトリックについて書いてみたいと思います。これは最近、私に重宝しました。



特定のページのわずかに変更されたバージョンを、ちょうど真夜中に、または通常の人がすべて長い間寝ている他の非常に不快な時間にロールアウトする必要があるとします。 また、あなたが王冠に煩わされたくないと仮定し、一般的に、すべてが1000回テストされているので、何も起こり得ません。 :)



この目的のために、nginx SSIを使用できます。 nginxの設定を変更する必要はありません。ページ自体は次のようになります。



<!--# config timefmt="%d%m%Y" -->

<!-- , $date_local -->

<!--# if expr="$date_local = 01012010" -->

<!--# include virtual="/path/to/new_year_congratulations/" stub="Oops!" -->

<!--# else -->

<!--# include virtual="/path/to/usual/version/of/block/" stub="Oops2!" -->

<!--# endif-->

<!-- $date_local $date_gmt - , , -->









そして今、2010年1月1日のちょうど真夜中に、ユーザーには通常のブロックの代わりに新年の挨拶が表示されます。 さらに、この時点で、あなたは平和に眠ることができます(まあ、または友人と酔ってください)。 :)さらに、1月2日の真夜中になると、わずかな参加もなしにお祝いが消えます。



もちろん、この方法を拡張および改善して、最も珍しい結果を得ることができます。 たとえば、自動モードでは、毎週金曜日に、週の終わりにユーザーを祝福できます。



当然、次のような欠点もあります。

-ifは、ページの戻りごとに実行されます-これは、非常に遅いプロセッサを搭載したサーバーまたはVPSで重要になる可能性があります。

-一部の時間間隔はこの方法では決定できないか、複数の「if」演算子が必要です。

-他の何か... :)



しかし、一般的に-良い、便利な、そして最も重要な、迅速なソリューション。



All Articles