テールワーカー
ベータテールワーカーは、他のワーカー(プロデューサーワーカーとして知られる)の実行に関する情報を受け取ります。これには、HTTPステータス、console.log()に渡されたデータ、または未捕捉の例外が含まれます。テールワーカーは、アラート、デバッグ、または分析のためにログを処理できます。
テールワーカーは、ワーカーの有料およびエンタープライズプランのすべての顧客が利用可能です。テールワーカーは、リクエストの数ではなく、CPU時間に基づいて請求されます。

テールワーカーは、アプリケーションロジックを含むプロデューサーワーカー(テールワーカーがトラッキングするワーカー)の呼び出しの後に自動的に呼び出されます。プロデューサーが実行を終了した後のイベントをキャプチャします。データのフィルタリング、フォーマットの変更、任意のHTTPエンドポイントへのイベント送信が可能です。迅速なデバッグのために、テールワーカーはKVや任意のデータベースにログを送信するために使用できます。
テールワーカーを設定するには:
- テールワーカーとして機能するワーカーを作成します。
- ワーカーに
tail()ハンドラーを追加します。tail()ハンドラーは、テールワーカーが接続されているプロデューサーワーカーが呼び出されるたびに呼び出されます。以下のワーカーコードは、データをHTTPエンドポイントに送信するテールワーカーの例です:
export default { async tail(events) { fetch("https://example.com/endpoint", { method: "POST", body: JSON.stringify(events), }) }}以下のワーカーコードは、eventsオブジェクトがどのように見えるかの例です:
[ { "scriptName": "例のスクリプト", "outcome": "例外", "eventTimestamp": 1587058642005, "event": { "request": { "url": "https://example.com/some/requested/url", "method": "GET", "headers": { "cf-ray": "57d55f210d7b95f3", "x-custom-header-name": "my-header-value" }, "cf": { "colo": "SJC" } } }, "logs": [ { "message": ["console.log()に渡された文字列"], "level": "log", "timestamp": 1587058642005 } ], "exceptions": [ { "name": "Error", "message": "サンプル例外をスローしました", "timestamp": 1587058642005 } ], "diagnosticsChannelEvents": [ { "channel": "foo", "message": "診断チャネルメッセージ", "timestamp": 1587058642005 } ] }]- プロデューサーワーカーの
wrangler.tomlファイルに以下を追加します:
tail_consumers = [{service = "<TAIL_WORKER_NAME>"}]tail()ハンドラーAPIドキュメント - ワーカーにtail()ハンドラーを設定する方法を学びます。
- エラーと例外 - 一般的なワーカーエラーを確認します。
- ローカル開発とテスト - ワーカーをローカルで開発およびテストします。
- ソースマップとスタックトレース - ワーカーのソースマップを有効にし、スタックトレースを生成する方法を学びます。