装飾用二重らせん

AEM ディスパッチャーカスタム無効化スクリプト

アドビが etc.clientlibs をディレクトリとして使用するように変更を行った際に、既存の Dispatcher キャッシュ無効化設定の一部で問題が発生しました。特定のキャッシュファイルでは、フラッシュが呼び出されたときに Dispatcher がディスク上のファイルを削除することがあります。ディレクトリは削除しないでください。Dispatcher は.stat を削除しますその中のファイル。この.statファイルのタイムスタンプは、要求されたキャッシュファイルを更新するかどうかを決定する際に Dispatcher がチェックするものです。

しかし、その厄介なせいで。クライアントライブラリキャッシュの名前に文字が含まれていると、ディスパッチャーはだまされてキャッシュ (etc.clientlibs) のことを考えてしまいました``/etc ファイルが無効になったら削除する必要があります 。これにより、ディレクトリを再作成しようとしたときにさらに問題が発生しました。次のリクエストでは、競合状態が原因で、ファイルシステムレベルで etc.clientlibs ディレクトリを作成できない可能性があります。そのため、キャッシュされたクライアントライブラリは作成されず、この問題が手動で修正されるまで (手動でディレクトリを再作成)、すべてのリクエストがパブリッシャーに送信されていました。

これを修正するために、無効化中にディスパッチャーによってトリガーされるシェルスクリプトを作成しました。スクリプトを呼び出すために、Dispatcher の設定に以下を追加しました。

/InvalidateHandler " /opt/dispatcher/scripts/invalidate.sh "[1]

これにより、Dispatcher ``のキャッシュがフラッシュエージェントから無効になるたびに invalidate.sh[2] シェルスクリプトが実行され、 etc.clientlibs ディレクトリの再作成がトリガーされ、競合状態が防止されました。

[1] https://gitlab.arbory.digital/arbory-digital-public/aem-dispatcher-public/blob/master/etc/httpd/conf.d/invalidate.inc#L14
[2] https://gitlab.arbory.digital/arbory-digital-public/aem-dispatcher-public/blob/master/opt/dispatcher/scripts/invalidate.sh

お問い合わせ

ポッドキャストエピソード

デジタルエクスペリエンスプラットフォームを選択する方法

Arbory Digital にテクニカルな AEM ポッドキャストが追加されました!Raf & Tadが適切なデジタルエクスペリエンスプラットフォームを持っているかどうかを判断する方法について詳しく説明します

セルフホスト型Aemはまだ存在するのか?

アドビ以外でアドビエクスペリエンスマネージャーをホストすることはまだ可能ですか(または推奨されます)?タッド・リーブスとジョーイ・スミスが参加します!

アドビサミット 2023 — ニューリリース & カンファレンスのまとめ

タッド・リーブスとハンク・トーベが、アドビサミット2023での体験を語ります。サミットの発表などをレビューします!