cancelJob
Syntax
cancelJob(jobId)
Arguments
jobId is the batch job ID(s). It is a STRING scalar or vector. If it is a vector, multiple batch jobs are canceled at the same time.
Details
Cancel submitted but unfinished batch job(s).
Starting from version 1.30.19, if a jobId does not exist when cancelJob
is executed, the system no longer throws an exception. Instead, it outputs the error
message with jobId to the log.
Version 1.30.23 has enhanced access control on job cancellation:
-
Administrators (including admin and super admin) can cancel batch jobs submitted by any user.
-
Regular users are only allowed to cancel batch jobs submitted by themselves.
Examples
def writeData(num){
n=10
month=take(2000.01M..2016.12M, n)
x=rand(1.0, n)
tt=table(month, x)
if(existsDatabase("dfs://test_db")){
dropDatabase("dfs://test_db")
}
db=database("dfs://test_db", VALUE, 2000.01M..2016.12M)
pt = db.createPartitionedTable(tt, `pt, `month)
for(x in 1..num){
pt.append!(tt)
sleep(1000)
}
}
myJobId="writeData"+temporalFormat(datetime(now()),"yyyyMMddHHmmss")
submitJob(myJobId,"write data to dfs table",writeData,120);
cancelJob(myJobId);
Cancel the unfinished jobs in a cluster:
def cancelAllBatchJob(){
jobids=exec jobid from getRecentJobs() where endTime=NULL
cancelJob(jobids)
}
pnodeRun(cancelAllBatchJob)