function tripal_cancel_job

2.x tripal_core.jobs.api.inc tripal_cancel_job($job_id, $redirect = TRUE)
3.x tripal.jobs.api.inc tripal_cancel_job($job_id, $redirect = TRUE)

Cancel a Tripal Job currently waiting in the job queue

Parameters

$job_id: The job_id of the job to be cancelled

Return value

FALSE if the an error occured or the job could not be canceled, TRUE otherwise.

Related topics

3 calls to tripal_cancel_job()
drush_tripal_bulk_loader_tripal_loader_cancel in tripal_bulk_loader/tripal_bulk_loader.drush.inc
Cancels the specified bulk loading job.
tripal_bulk_loader_add_loader_job_form_submit in tripal_bulk_loader/includes/tripal_bulk_loader.loader.inc
Add Loader Job Form (Submit)
tripal_jobs_cancel in tripal_core/api/tripal_core.DEPRECATED.api.inc
2 string references to 'tripal_cancel_job'
tripal_core_menu in tripal_core/tripal_core.module
Implements hook_menu(). Defines all menu items needed by Tripal Core
tripal_jobs_cancel in tripal_core/api/tripal_core.DEPRECATED.api.inc

File

tripal_core/api/tripal_core.jobs.api.inc, line 355
Tripal offers a job management subsystem for managing tasks that may require an extended period of time for completion.

Code

function tripal_cancel_job($job_id, $redirect = TRUE) {

  if (!$job_id or !is_numeric($job_id)) {
    watchdog('tripal', "Must provide a numeric \$job_id to the tripal_cancel_job() function.");
    return FALSE;
  }

  $sql = "SELECT * FROM {tripal_jobs} WHERE job_id = :job_id";
  $results = db_query($sql, array(':job_id' => $job_id));
  $job = $results->fetchObject();

  // set the end time for this job
  if ($job->start_time == 0) {
    $record = new stdClass();
    $record->job_id = $job->job_id;
    $record->end_time = time();
    $record->status = 'Cancelled';
    $record->progress = '0';
    drupal_write_record('tripal_jobs', $record, 'job_id');
    drupal_set_message(t("Job #%job_id cancelled", array('%job_id' => $job_id)));
  }
  else {
    drupal_set_message(t("Job %job_id cannot be cancelled. It is in progress or has finished.", array('%job_id' => $job_id)));
  }
  if ($redirect) {
    drupal_goto("admin/tripal/tripal_jobs");
  }
}