Skip to content

Callback

ZjzMisaka edited this page Dec 24, 2024 · 1 revision

コールバック

コールバック機能を使用すると、QueueWorkItem または WorkOption の引数を使ってタスクにコールバックを設定できます。デフォルトのコールバックは PowerPoolOption.DefaultCallback を使用できます。
コールバックは ExecuteResult<TResult> オブジェクトを返します。このオブジェクトには以下のプロパティが含まれます:

プロパティ

ID: タスクID。
Result: タスクの結果。
Status: タスクの実行が成功したか失敗したかを示します。
Exception: タスクが失敗した場合、このプロパティには関連する例外が含まれます。
QueueDateTime: キューに追加された日時。
StartDateTime: 実行開始日時。
EndDateTime: 実行終了日時。
RetryInfo: リトライ情報。

サンプル

タスクのコールバック

powerPool.QueueWorkItem(() =>
{
    return 100;
}, (res) =>
{
    string id = res.ID;
    int result = res.Result;
    Exception exception = res.Exception;
    Status status = res.Status;
    // 何かを実行
});

デフォルトのコールバック

powerPool.PowerPoolOption = new PowerPoolOption()
{
    DefaultCallback = (res) =>
    {
        // 何かを実行
    },
};
Clone this wiki locally