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,… > 时,只要生成了 eventi,就对 fi[assoc] 进行计算. 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 只计算一次.
范例
打开所有单元关闭所有单元基本范例 (10)
可能存在的问题 (1)
如高级动态功能中所述,由 SessionSubmit 启动的任务会抢先计算表达式. 抢先完成 Pause 或长时间运行的计算后,内核表面上可能会处于锁定或冻结状态,直到计算完成.
这将导致运算器定期暂停 3 秒钟,从而产生内核被锁定或繁忙的表象:
在同步(主)运算线程中计算的 Pause,允许运行抢先式计算:
Wolfram Research (2017),SessionSubmit,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SessionSubmit.html (更新于 2019 年).
文本
Wolfram Research (2017),SessionSubmit,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SessionSubmit.html (更新于 2019 年).
CMS
Wolfram 语言. 2017. "SessionSubmit." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2019. https://reference.wolfram.com/language/ref/SessionSubmit.html.
APA
Wolfram 语言. (2017). SessionSubmit. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SessionSubmit.html 年