def cancel(self, job_ids):
for job in job_ids:<EOL><INDENT>logger.debug("<STR_LIT>".format(job))<EOL>if self.resources[job]['<STR_LIT>']:<EOL><INDENT>proc = self.resources[job]['<STR_LIT>']<EOL>os.killpg(os.getpgid(proc.pid), signal.SIGTERM)<EOL>self.resources[job]['<STR_LIT:status>'] = '<STR_LIT>'<EOL><DEDENT>elif self.resources[job]['<STR_LIT>']:<EOL><INDENT>cmd = "<STR_LIT>".format(self.resources[job]['<STR_LIT>'])<EOL>retcode, stdout, stderr = self.channel.execute_wait(cmd, self.cmd_timeout)<EOL>if retcode != <NUM_LIT:0>:<EOL><INDENT>logger.warning("<STR_LIT>".format(self.resources[job]['<STR_LIT>'],<EOL>self.label))<EOL><DEDENT><DEDENT><DEDENT>rets = [True for i in job_ids]<EOL>return rets<EOL>
Cancels the jobs specified by a list of job ids

        Args:
        job_ids : [<job_id> ...]

        Returns :
        [True/False...] : If the cancel operation fails the entire list will be False.