> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ワーカープロセスでのトレースデータの損失

Weave は、アプリケーションのパフォーマンスへの影響を最小限に抑えるため、バックグラウンドスレッドでトレースデータをアップロードします。ただし、マルチプロセッシングやタスクキューシステム、または Celery などのワーカープロセスを使用している場合、トレースデータが失われることがあります。これは、バックグラウンドスレッドによるトレースのアップロードが完了する前にワーカープロセスが終了すると発生します。

ワーカープロセスでのデータ損失を防ぐには、ワーカータスクが完了する前に `client.flush()` または `client.finish()` を呼び出し、バックグラウンドのアップロードを確実に完了させてください。これは、[AWS Lambda](https://aws.amazon.com/lambda/)、[Google Cloud Run](https://cloud.google.com/run)、実行直後に終了するノートブックなど、短時間で終了する環境で特に有効です。

これらのメソッドは用途が異なるため、環境に合ったものを選択してください。

* `weave.flush()`: 出力なしでフラッシュを実行します。Weave をワーカープロセスや継続的インテグレーション (CI) 環境に統合している場合に推奨されます。
* `weave.finish()`: プログレスバーまたはステータスコールバックで進捗をフィードバックします。インタラクティブなスクリプトやノートブックに推奨されます。

どちらのメソッドも、すべてのバックグラウンドアップロードが完了するまで処理をブロックします。そのため、ワーカープロセスの終了時にトレースデータが失われることはありません。

次の例では、Celery タスクから `client.finish()` を呼び出し、ワーカーが処理を返す前にトレースをフラッシュします。`[TEAM-NAME]` を W\&B のチーム名に、`[PROJECT-NAME]` を W\&B のプロジェクト名に置き換えてください。

```python theme={"system"}
from celery import Celery
import weave

app = Celery('tasks')

@app.task
def process_task(input_data):
    weave.init("[TEAM-NAME]/[PROJECT-NAME]")

    try:
        # トレースを作成するタスクのロジック
        result = your_processing_function(input_data)

        # タスクの完了前に、すべてのトレースのアップロードを完了させます
        weave.finish()

        return result
    finally:
        pass
```

別の方法として、`with` コンテキストマネージャーを使用すると、終了時に `weave.finish()` が自動的に呼び出されます。

```python theme={"system"}
with weave.init("[TEAM-NAME]/[PROJECT-NAME]") as client:
    result = your_processing_function(input_data)

    return result
```

`weave.flush()` を使用して、アプリケーションのパフォーマンスを向上させることもできます。詳細については、[フラッシュ](/ja/support/weave/articles/long-eval-clean-up-times)を参照してください。

データ損失への耐性をさらに高めるには、[ライトアヘッドログ](/ja/products/wandb/weave/guides/tracking/write-ahead-log)の有効化を検討してください。ライトアヘッドログを有効にすると、トレースデータはサーバーに送信される前にディスクへ書き込まれます。

***

<Badge stroke shape="pill" color="blue" size="md">[トレースデータ](/ja/support/weave/tags/trace-data)</Badge><Badge stroke shape="pill" color="blue" size="md">[パフォーマンス](/ja/support/weave/tags/performance)</Badge>
