重新创建

从现有工作的新工作

描述

新工作=重新创建(oldjob创建一个包含相同的任务和选项基于现有的工作一个新的工作对象,oldjob。旧的工作可以在任何状态;新的工作状态处于挂起状态。如果oldjob利用创建批量,然后MATLAB®自动提交新的工作。

新工作=重新创建(oldjob,'任务',tasksToRecreate创建一个带有任务的工作对象,对应于tasksToRecreate。由于沟通的工作只有一个任务,此选项仅支持独立工作。万博1manbetx

新工作=重新创建(oldjob'TaskState',状态创建一个带有任务的作业对象对应于与任务通过指定状态。由于沟通的工作只有一个任务,此选项仅支持独立工作。万博1manbetx

新工作=重新创建(oldjob'的TaskID',IDS创建一个包含从任务作业对象oldjob对应于任务与指定的IDIDS。由于沟通的工作只有一个任务,此选项仅支持独立工作。万博1manbetx

例子

全部收缩

当任务依赖于一个文件,是不存在了这种方法是非常有用的。

创建使用默认的群集配置文件的新工作。在这个例子中,它是本地并行池。

簇= parcluster;作业= createJob(簇);

创建几个任务。特别是,创建依赖于不存在的MAT文件的任务。

的CreateTask(作业,@()'任务1',1);的CreateTask(作业,@()负载('myData.mat'),1);

提交作业,并等待它完成。由于MAT-文件中的第二个任务不存在,则任务失败。如果你打电话fetchOutputs工作检索结果,你会得到一个错误。检查使用错误错误相应的任务的性质。

提交(工作);等待(作业);job.Tasks(2).Error
ANS = ParallelException与属性:标识符: 'MATLAB:负载:couldNotReadFile' 消息:“无法读取文件 'myData.mat'。无此文件或目录。'原因:{} remotecause:{[1×1 MException]}堆栈:[1×1结构]

从创建使用第二个任务中引用的MAT文件保存功能。要创建与导致错误的任务,新的工作,使用'任务'名称 - 值对中重新创建,并提供hasError功能。如果你想选择一组不同的任务,你可以定义自己的功能。

海峡=“任务2”;保存MYDATA的海峡newjob =重新创建(工作,'任务',@ hasError);

提交新的工作,等待它的完成,并获取输出。由于MAT文件现在存在,作业不会失败。

提交(newjob);等待(newjob);OUT = fetchOutputs(newjob);出{1}
ANS =同场的结构:STR: '任务2'

这个例子显示了如何重新创建整个作业我的工作

newJob =重新创建(myJob)

这个例子显示了如何重新创建一个独立的工作,从工作只有尚未完成的任务oldIndependentJob

newJob =重新创建(oldIndependentJob,'TaskState'“待定”);

这个例子显示了如何重新创建一个独立的工作,它只有从工作中与ID的21任务32oldIndependentJob

newJob =重新创建(oldIndependentJob,'的TaskID',[21:32]);

这个例子显示了如何找到并重新提交的用户玛丽所有失败的作业。假设默认的簇是一个玛丽提交了她的作业。

C = parcluster();failedjobs = findJob(C,'用户名''玛丽''州'“失败”);对于m = 1时:长度(failedjobs)newJob(M)=重新创建(failedjobs(M));结束

输入参数

全部收缩

原始作业被复制,指定为parallel.Job目的。

例:newJob =重新创建(oldjob);提交(newJob);

数据类型:parallel.Job

从任务重复oldjob,规定为:

  • 的阵列parallel.Task属于oldjob

  • 一个1×N个逻辑阵列,其中ñ是的大小oldjob.Tasks,指示在任务oldjob重新创建。

  • 接受一个函数句柄oldjob.Tasks作为输入参数。此函数必须返回一个1×N个逻辑数组,指示在任务oldjob重新创建,其中ñ是的大小oldjob.Tasks

要包含错误或警告重新运行的任务,使用此语法与预定义功能@hasErrorhasWarnings

例:newJob =重新创建(oldjob, '任务',@ hasError | @hasWarnings);

数据类型:parallel.Task|合乎逻辑|function_handle

任务状态复制,指定为字符串的字符串或单元阵列。状态表示必须执行的任务来重新创建状态oldjob。有效状态为“待定”“跑步”“成品”“失败”

例:newJob =重新创建(oldJob, 'TaskState', '失败');

数据类型:烧焦||细胞

任务的ID从复制oldjob,指定为整数向量。

例:newJob =重新创建(oldIndependentJob, '的TaskID',[1 5]);

数据类型:||INT8|INT16|INT32|Int64的|UINT8|UINT16|UINT32|UINT64

介绍了在R2014a