主要内容

polyspaceJobsManager

管理 MATLAB Parallel Server 集群中的 Polyspace 作业

说明

polyspace-jobs-manager polyspaceJobsManagerPolyspace® Bug Finder™Polyspace Code Prover™ 管理远程作业。在系统命令行中以 polyspace-jobs-manager 形式调用此命令,在 MATLAB® 命令窗口中以 polyspaceJobsManager 形式调用此命令。

polyspaceJobsManager('listjobs') 列出集群中的所有 Polyspace 作业。

示例

polyspaceJobsManager('cancel','-job',jobNumber) 取消指定的作业。该作业在队列中将显示为已取消。

示例

polyspaceJobsManager('remove','-job',jobNumber) 从集群中删除指定的作业。

示例

polyspaceJobsManager('getstatus','-job',jobNumber) 返回指定作业的当前状态,例如 queuedrunningcompleted

polyspaceJobsManager('getlog','-job',jobNumber) 显示指定的作业的日志。

示例

polyspaceJobsManager('wait','-job',jobNumber) 在指定的作业完成之前暂停。

polyspaceJobsManager('promote','-job',jobNumber) 将指定的作业在 MATLAB 作业调度器队列中上移。

示例

polyspaceJobsManager('demote','-job',jobNumber) 将指定的作业在 MATLAB 作业调度器队列中下移。

polyspaceJobsManager('download','-job',jobNumber) 从指定的作业下载结果。结果将下载到您在启动分析时使用 -results-dir 选项指定的文件夹中。

polyspaceJobsManager('download','-job',jobNumber,'-results-folder',resultsFolder) 将结果从指定的作业下载到 resultsFolder

示例

polyspaceJobsManager(___,'-scheduler',scheduler) 对指定的作业调度器执行指定的操作。如果您没有使用任何上述语法指定服务器,则 Polyspace 将使用您的 Polyspace 预设项中存储的服务器。

示例

示例

全部折叠

在此示例中,使用 MATLAB 作业调度器远程运行 Polyspace 并监视队列中的作业。

在执行此示例之前,请设置一个 MATLAB 作业调度器。此示例使用 myMJS@myCompany.com 调度器。执行此示例时,请将此调度器替换为您自己的集群名称。

设置您的源文件。

tempDir = fullfile(tempdir, 'psdemo', 'src');
mkdir(tempDir);
demo = fullfile(polyspaceroot,'polyspace','examples','cxx',...
'Bug_Finder_Example','sources');
copyfile(demo,tempDir,'f');

将两个作业提交到您的调度器。每个命令都返回调度器队列中作业的状态和 ID。

allFiles = fullfile(tempDir, '*.c')
oneFile = fullfile(tempDir, 'numerical.c');
resFolder1 = fullfile(tempDir, 'res1');
resFolder2 = fullfile(tempDir, 'res2');
[status1, jobID1] = polyspaceBugFinder('-batch', '-scheduler', 'myMJS@myCompany.com',...
 '-sources', allFiles,'-results-dir' resFolder1);
[status2, jobID2] = polyspaceBugFinder('-batch', '-scheduler', 'myMJS@myCompany.com',...
 '-sources', oneFile,'-results-dir' resFolder2);

如果您的作业尚未开始运行,提升第二个作业,使其在第一个作业之前运行。

polyspaceJobsManager('promote','-job',jobID2,'-scheduler','myMJS@myCompany.com')

第二个作业 (jobID2) 在第一个作业 (jobID1) 之前开始运行。

取消作业 jobID1

polyspaceJobsManager('cancel','-job',jobID1,'-scheduler','myMJS@myCompany.com')
polyspaceJobsManager('listjobs','-scheduler','myMJS@myCompany.com')
ID	AUTHOR	APPLICATION	LOCAL_RESULTS_DIR	WORKER	STATUS	DATE	LANG	CLUSTER_MODE
...
19	user	Polyspace	C:\Temp\psdemo\res1		cancelled	Wed Mar 16 16:48:38 EST 2014	C	Batch
20	user	Polyspace	C:\Temp\psdemo\res2		running	Wed Mar 16 16:48:38 EST 2014	C	Batch

删除作业 jobID1

polyspaceJobsManager('remove','-job',jobID1,'-scheduler','myMJS@myCompany.com')
polyspaceJobsManager('listjobs','-scheduler','myMJS@myCompany.com')
ID	AUTHOR	APPLICATION	LOCAL_RESULTS_DIR	WORKER	STATUS	DATE	LANG	CLUSTER_MODE
...
20	user	Polyspace	C:\psdemo\res2		completed	Wed Mar 16 16:48:38 EST 2014	C	Batch

获取作业 jobID2 的日志。

polyspaceJobsManager('getlog','-job',jobID2,'-scheduler','myMJS@myCompany.com')

从作业 jobID2 下载信息。

resFolder3 = fullfile(tempDir, 'res3');
polyspaceJobsManager('download','-job',jobID2,'-results-folder',resFolder3,'-scheduler','myCluster')

输入参数

全部折叠

您要管理的排队中作业的编号,指定为由单引号引起的字符向量。

示例: '-job','10'

结果文件夹的路径,指定为由单引号引起的字符向量。此文件夹存储已下载的结果文件。

示例: '-results-folder','C:\psdemo\myresults'

用于远程验证的作业调度器,采用以下名称之一指定:

  • 托管 MATLAB Parallel Server™ 集群的主节点的计算机的名称 (NodeHost)。

  • 主节点主机上的 MATLAB 作业调度器的名称 (MJSName@NodeHost)。

  • MATLAB 集群配置文件的名称 (ClusterProfile)。

示例: '-scheduler','myscheduler@mycompany.com'

版本历史记录

在 R2013b 中推出