if (!WPBackItUp_Backup::start()) { $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Backup job cant acquire job lock.'); return; //nothing to do } else { $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Backup job lock acquired.'); } //**************************// //**************************// // Task Handling // //**************************// global $backup_job; $backup_job = null; $current_task = null; $backup_error = false; $backup_job = WPBackItUp_Job::get_job('backup'); $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Check for available backup job'); if ($backup_job) { //Get the next task in the stack $next_task = $backup_job->get_next_task(); if (false !== $next_task) { $backup_id = $backup_job->backup_id; $current_task = $next_task; //If task contains error then timeout has occurred if (strpos($current_task, 'error') !== false) { $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Backup Error Found:' . $current_task); $backup_error = true; } $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Available Task Found:' . $current_task); } else { $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'No available tasks found.');
/** * Gets the queued or active job on top of the stack * * @param $job_name * * @return bool|WPBackItUp_Job */ public static function get_job($job_name) { $logger = new WPBackItUp_Logger(false, null, 'debug_job'); $logger->log_info(__METHOD__, 'Begin - Job Name: ' . $job_name); //Get backup on top $args = array('posts_per_page' => 1, 'post_type' => $job_name, 'post_status' => array('queued', 'active'), 'orderby' => 'post_date', 'order' => 'ASC'); $jobs = get_posts($args); $logger->log($jobs); if (is_array($jobs) && count($jobs) > 0) { $logger->log_info(__METHOD__, 'Job found:' . count($jobs)); $backup_job = new WPBackItUp_Job($jobs[0]); if (self::QUEUED == $backup_job->job_status) { $backup_job->set_job_status_active(); } return $backup_job; } $logger->log_info(__METHOD__, 'No jobs found.'); $logger->log_info(__METHOD__, 'End'); return false; }
if (!WPBackItUp_Backup::start()) { $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Cleanup job cant acquire job lock.'); return; //nothing to do } else { $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Cleanup job lock acquired.'); } //**************************// //**************************// // Task Handling // //**************************// global $cleanup_job; $cleanup_job = null; $current_task = null; $backup_error = false; $cleanup_job = WPBackItUp_Job::get_job('cleanup'); $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Check for available job'); if ($cleanup_job) { //Get the next task in the stack $next_task = $cleanup_job->get_next_task(); if (false !== $next_task) { $backup_id = $cleanup_job->backup_id; $current_task = $next_task; //If task contains error then timeout has occurred if (strpos($current_task, 'error') !== false) { $backup_error = true; } $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Available Task Found:' . $current_task); } else { $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'No available tasks found.'); WPBackItUp_Backup::end();
public function ajax_queue_restore() { $rtnData = new stdClass(); // Check permissions if (!self::is_authorized()) { exit('Access denied.'); } $logger = new WPBackItUp_Logger(false, null, 'debug_events'); $logger->log_info(__METHOD__, 'Begin'); //Include Job class if (!class_exists('WPBackItUp_Job')) { include_once 'class-job.php'; } $validation_error = false; //Get posted values $backup_file_name = $_POST['selected_file']; //Get the backup file name if (empty($backup_file_name)) { $rtnData->message = 'No backup file selected.'; $validation_error = true; } //Get user ID - GET ThIS FROM POST ID $user_id = $_POST['user_id']; if (empty($user_id)) { $rtnData->message = 'No user id found.'; $validation_error = true; } //If no job queued already then queue one if (!$validation_error) { if (!WPBackItUp_Job::is_job_queued('restore')) { $job = WPBackItUp_Job::queue_job('restore'); if ($job !== false) { $job->update_job_meta('backup_name', $backup_file_name); $job->update_job_meta('user_id', $user_id); $rtnData->message = 'Restore Queued'; } else { $rtnData->message = 'Restore could not be queued'; } } else { $rtnData->message = 'Restore already in queue'; } } $logger->log_info(__METHOD__, $rtnData->message); $logger->log_info(__METHOD__, 'End'); echo json_encode($rtnData); exit; }