ハンドラーの現在の呼び出しがタスク キューから呼び出されているかどうかを、コードの奥深くで確実に検出するにはどうすればよいでしょうか?
HttpServletRequest
GAE/J では、オブジェクトを確認すると、次のヘッダーが設定されているかどうかを確認できることがわかりました。
X-AppEngine-QueueName
X-AppEngine-TaskName
X-AppEngine-TaskRetryCount
X-AppEngine-FailFast
X-AppEngine-TaskETA
これらのヘッダーのいずれかが存在する場合、ハンドラーがタスク キューによって呼び出されていることを示します。
しかし、検出を行う必要がある私のコードの部分は、HttpServletRequest
オブジェクトにアクセスできなかったいくつかの抽象化レイヤーの奥深くにあり、現在の実行環境がタスクキューから呼び出されているかどうかを確実に検出できる方法はありますか?か否か?
私が望んでいるのは、次のような簡単にアクセスできるものがあることです。
SystemProperty.environment.value() == Value.TaskQueue
を使用して、コードが GAE で実行されているか、開発サーバーで実行されているかを確認する方法に似ていますSystemProperty.environment.value() == Value.Development
。