SessionSubmit
SessionSubmit[expr]
現行セッションでの expr の評価のために,非同期タスクを送信する.
SessionSubmit[ScheduledTask[expr,spec]]
spec で定義されたスケジュールに従って現行セッションで expr を評価するために,タスクを送信する.
詳細とオプション
- SessionSubmit[…]は作成したタスクを表すTaskObject[…]を返す.
- spec の使用可能な値はScheduledTaskでサポートされる値である.
- 次は使用可能なオプションである.
-
HandlerFunctions < > 生成されたイベントをどのように扱うか HandlerFunctionsKeys Automatic ハンドラ関数に渡すパラメータ Method Automatic いつタスクの実行を許可するかをどのように決定するか - 次はMethodオプションの可能な設定である.
-
"Idle" セッションがユーザの入力を待っている間にのみ実行 Automatic 計算中を含む,任意のときに実行 - タスクの実行中に,次のイベントが生成される可能性がある.
-
"TaskStarted" タスクが開始された "ScheduleTriggered" スケジュールされたタスクの評価が始まっている "MessageGenerated" 評価がメッセージを生成した "PrintOutputGenerated" 評価が出力を生成した "ResultReceived" 評価が結果を生成した "ScheduleExecuted" スケジュールされたタスクの評価が実行された "TaskStatusChanged" タスクのステータスが変わった "TaskFinished" タスクが完全に終了した "TaskRemoved" タスクが削除されている - HandlerFunctions-><…,"eventi"->fi,… >と指定すると,fi[assoc]は eventi が生成されるたびに評価される.assoc の要素のキーはHandlerFunctionsKeysの設定で指定される.
- 次は,HandlerFunctionsKeysが指定する可能性があるキーである.
-
"EvaluationExpression" 評価されている式 "EvaluationResult" 評価結果 "MessageOutput" 生成されたメッセージのコンテンツ "PrintOutput" 生成された出力のコンテンツ "Task" タスクを表すオブジェクト "TaskStatus" タスクのステータス "TaskType" タスクのタイプ "TaskUUID" 一意的なタスクの識別子 "EventName" 処理されているイベントの名前 - 評価する式はHoldに囲まれて返される.
- スケジュールされたタスクについては,次の追加的なキーを指定することができる.
-
"Schedule" タスクのスケジュール指定 "RunInterval" タスクの実行間隔 "PreviousRunCount" それまでにタスクが実行された回数 "RemainingRunCount" この後タスクが実行されなければならない回数 "TotalRunCount" スケジュールされているタスクの実行総回数 "NextScheduledTime" タスクの次回の実行スケジュール - SessionSubmitによって送信されたタスクは,現行のWolfram言語セッションで実行され,そのセッションの全変数とその他の状態にアクセスすることができる.
- タスクは,システムが入力を待っているときおよびその他の評価の最中に,先制的に実行される.
- expr がScheduledTask式ではないなら,SessionSubmit[expr]は,事実上SessionSubmit[ScheduledTask[expr,{Quantity[1,"Seconds"],1}]]である.つまり,expr は1度しか評価されない.
例題
すべて開くすべて閉じる例 (10)
考えられる問題 (1)
SessionSubmitによって開始されたタスクは,「Dynamicの高度な機能」にあるように,式をプリエンプティブに評価する.Pauseあるいは実行が長時間になる評価がプリエンプティブに行われると,評価が終了するまでカーネルがロックされたようにあるいはフリーズしているように見えることがある.
以下で評価器が定期的に3秒間停止して,ロックされたまたはビジーなカーネル効果を出す:
同期(メイン)評価スレッドで評価されたPauseではプリエンプティブな評価が実行できる:
テキスト
Wolfram Research (2017), SessionSubmit, Wolfram言語関数, https://reference.wolfram.com/language/ref/SessionSubmit.html (2019年に更新).
CMS
Wolfram Language. 2017. "SessionSubmit." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/SessionSubmit.html.
APA
Wolfram Language. (2017). SessionSubmit. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SessionSubmit.html