10.6.3.1 ore_async_flag引数
特殊な制御引数ore_async_flag
は、ジョブを同期で実行するか非同期で実行するかを決定します。デフォルト値はfalseです。
ore_async_flag
引数の設定
-
同期モードで関数を実行するには、
ore_async_flag
をfalse
に設定します。同期モードでは、SQL APIはHTTPコールが終了するのを待機し、HTTPレスポンスの準備ができると戻ります。
デフォルトでは、
rq*Eval2
関数は同期で実行されます。デフォルトの接続タイムアウト制限は60秒です。同期モードは、ore_async_flag
が設定されていない場合、またはfalse
に設定されている場合に使用されます。 -
非同期モードで関数を実行するには、
ore_async_flag
をtrue
に設定します。非同期モードでは、非同期ジョブがWebサーバーに発行された直後に、SQL APIはURLを返します。URLにはジョブIDが含まれており、これを使用してジョブ・ステータスをフェッチし、後続のSQLコールを実行できます。
非同期ジョブの発行例
次のコードでは、R関数RandomRedDots2
は、引数ore_async_flag
をtrueに設定して非同期モードで実行されます。
%script
set long 500
SELECT * FROM table(rqEval2(
par_lst => '{"ore_async_flag":true, "ore_graphics_flag":true, "ore_service_level":"LOW"}',
out_fmt => NULL,
scr_name => 'RandomRedDots2'));
結果のVALUE
列には、非同期ジョブのジョブIDが含まれるURLが示されます。
NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
https://<host_name>/oml/api/r-scripts/v1/jobs/<job_id>
1 row selected.
親トピック: 非同期ジョブ