すべてのプロダクト
Search
ドキュメントセンター

Function Compute:タスクの管理

最終更新日:Sep 06, 2024

このトピックでは、非同期タスクの状態と、Function Computeコンソールでの非同期タスクの管理方法について説明します。 次に、非同期タスクを作成、開始、停止、および表示する方法を理解できます。

Function Computeコンソールでのタスクの管理

関数を作成するときに非同期タスクを作成する

  1. Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[タスク] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。 [タスク実行関数] ページで、[関数の作成] をクリックします。

  3. 関数の作成ページ、関連パラメーターの設定、トリガーの設定、作成をクリックします。

    説明
    • 関数の作成方法については、「関数の管理」トピックの「関数の作成」セクションをご参照ください。

    • [関数の作成] ページで関数を作成するときに、トリガーを作成できます。 既存の関数の [トリガー] タブでトリガーを作成することもできます。

    • 上記の方法を使用して関数を作成すると、非同期ポリシータスクモード機能が自動的に有効になります。 関数へのすべての非同期呼び出し要求は、タスクモードで処理されます。

    関数が作成されると、[タスク実行関数] ページの [関数名] リストに関数が表示されます。

既存の関数の非同期タスクモードを有効にする

既存の関数の非同期タスクモードを有効にできます。 詳細については、「関数の管理」トピックの「関数の作成」セクションをご参照ください。

  1. Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[サービスと機能] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。 [サービス] ページで、目的のサービスをクリックします。

  3. 関数をクリックします。 関数の詳細ページで、[非同期設定] タブをクリックします。 [非同期ポリシー] セクションで、[変更] をクリックします。

  4. では、非同期モードのポリシーの変更パネル、セットタスクモード有効化をクリックし、OKをクリックします。

タスクの開始または停止

  1. Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[タスク] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。

  3. [タスク実行関数] ページで、目的の関数をクリックします。

  4. [非同期タスク] タブで、[タスクの送信] をクリックします。 表示されるダイアログボックスで、タスクIDの生成方法とタスクの実行時間を選択し、[OK] をクリックします。

    [タスクの送信] パラメーターの右側にあるdownアイコンをクリックし、ドロップダウンリストから [タスクパラメーターの設定] を選択することもできます。 イベント関数はeventを使用し、HTTP関数はHTTPパラメーターを使用して入力パラメーターを関数に渡し、タスクの送信をシミュレートします。

    タスクを送信した後、ページを更新します。 実行中または完了したタスクを表示できます。 インスタンスへのログイン、タスクの停止、タスクの再実行、およびログの表示ができます。

    説明

    非同期タスクでは、HTTP関数を再実行できません。

Function Compute APIを呼び出すか、Function Compute SDKを使用してタスクを管理する

非同期タスクの作成

PutFunctionAsyncInvokeConfigを呼び出して、非同期呼び出しモードをタスクモードに設定できます。 次の設定をAsyncConfigに追加します。この設定を追加すると、関数のすべての非同期呼び出しがタスクモードに変わります。

{
  "statefulInvocation": true
}
説明

非同期呼び出しモードをタスクモードに設定しても、同期モードで関数を呼び出すことができます。 ただし、非同期タスクモードは非同期呼び出しに対してのみ有効です。

タスクモードを有効にする

InvokeFunction操作を呼び出して、非同期呼び出しをトリガーしてタスクモードを開始できます。 操作を呼び出してタスクIdを指定するときに、HTTPヘッダーStateful-Async-Invocation-IDを追加できます。 詳細については、「タスク重複排除」をご参照ください。

タスクの表示

タスクを送信した後、GetStatefulAsyncInvocation操作を呼び出して、タスクの実行ステータスまたは実行レコードを照会できます。

ListStatefulAsyncInvocations操作を呼び出して、キーワードまたは条件に基づいて、指定された条件を満たすタスクのリストを照会できます。

タスクの停止

タスクを送信した後、ビジネス要件に基づいてタスクを停止できます。 StopStatefulAsyncInvocationを呼び出して、タスクを停止できます。 タスクを停止するときは、そのIDを入力する必要があります。 タスクIDは、タスクを送信するときに指定されます。 タスクIDは、ListStatefulAsyncInvocations操作を呼び出して実行中のタスクをクエリするときに取得したIDでもあります。

非同期タスクの状態

Function Computeは、タスクの呼び出しごとに、タスクの状態変更に関する情報を記録し、タスクの状態をリアルタイムで照会できます。 Function Compute SDKまたはFunction Computeコンソールを使用して、タスクの状態を表示できます。 タスクは、次のいずれかの状態になります。

状態

説明

エンキュー済み

非同期呼び出しはエンキューされ、実行待ちです。

処理済み

非同期呼び出しはデキューされ、トリガーされるまで保留されます。

実行中

呼び出しは実行中であり、インスタンスはタスクコードの実行を開始しています。

成功した

呼び出しは成功します。

失敗しました

呼び出しは失敗します。

停止しました

呼び出しを停止し、タスクは正常に終了します。

停止中

タスクを停止し、タスクは終了中です。

期限切れ

非同期呼び出しの有効期間を設定しました。 呼び出しが期限切れになり、破棄されました。

無効

呼び出しは無効になり、特定の理由でトリガーされません。 例えば、関数は削除される。

再試行

実行エラーのため、非同期呼び出しが再試行中です。 システムがタスクを再試行する準備ができたら、タスクの状態は実行中に変わります。

GetStatefulAsyncInvocationを呼び出して、タスクの詳細を取得できます。 ListStatefulAsyncInvocationsを呼び出して、指定した状態のタスクをフィルタリングすることもできます。