Я использую фоновую обработку WP https://github.com/deliciousbrains/wp-background-processing, чтобы создать фоновый процесс, который перемещает некоторые файлы на другой сервер.
Все работает хорошо, я могу выбрать файлы, добавить тему в очередь и начать движение. Все работает хорошо, но как только процесс запущен, я не могу его остановить.
Я хочу иметь возможность остановить фоновый процесс в случае, если я передумал во время передачи файла.
Я создал функцию ajax, которая вызывает эту функцию php.
function me_stop_moving_files(){
global $wpdb;
$sql = "SELECT `option_name` AS `name`, `option_value` AS `value`
FROM $wpdb->options
WHERE `option_name` LIKE %s
ORDER BY `option_name`";
$wild = '%';
$find = 'wp_example_process';
$like = $wild . $wpdb->esc_like( $find ) . $wild;
$results = $wpdb->get_results( $wpdb->prepare($sql,$like) );
foreach ( $results as $result ){
delete_option($result->name);
}
$this->process_all->cancel_process();
wp_clear_scheduled_hook('wp_example_process_cron');
die('completed');
}
Где cancel_process () - это метод класса wp-background-process.php. На первый взгляд кажется, что процесс остановлен, но рано или поздно он начинается снова.
Кто-нибудь имеет опыт работы с этой библиотекой и может указать мне правильное направление?