chore: using `uniqid` to generate log file names
This commit is contained in:
parent
b61b4e5836
commit
ca733b17ea
|
@ -242,8 +242,9 @@ class REST_Background_Processes_Controller extends REST_Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function prepare_item_for_response($item, $request) {
|
public function prepare_item_for_response($item, $request) {
|
||||||
$item->log = $this->get_log_url($item->ID, $item->action);
|
$key_log = $item->bg_uuid ?? $item->ID;
|
||||||
$item->error_log = $this->get_log_url($item->ID, $item->action, 'error');
|
$item->log = $this->get_log_url($key_log, $item->action);
|
||||||
|
$item->error_log = $this->get_log_url($key_log, $item->action, 'error');
|
||||||
$nonce = wp_create_nonce( 'wp_rest' );
|
$nonce = wp_create_nonce( 'wp_rest' );
|
||||||
$item->output = str_replace("&_wpnonce=[nonce]", "&_wpnonce=$nonce", $item->output);
|
$item->output = str_replace("&_wpnonce=[nonce]", "&_wpnonce=$nonce", $item->output);
|
||||||
return $item;
|
return $item;
|
||||||
|
|
|
@ -114,7 +114,8 @@ abstract class Background_Process extends \Tainacan_WP_Background_Process {
|
||||||
'action' => $this->action,
|
'action' => $this->action,
|
||||||
'name' => $this->get_name(),
|
'name' => $this->get_name(),
|
||||||
'queued_on' => date('Y-m-d H:i:s'),
|
'queued_on' => date('Y-m-d H:i:s'),
|
||||||
'status' => 'waiting'
|
'status' => 'waiting',
|
||||||
|
'bg_uuid' => uniqid(),
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
$this->ID = $wpdb->insert_id;
|
$this->ID = $wpdb->insert_id;
|
||||||
|
@ -263,6 +264,7 @@ abstract class Background_Process extends \Tainacan_WP_Background_Process {
|
||||||
$batch->key = $query->ID;
|
$batch->key = $query->ID;
|
||||||
$batch->data = maybe_unserialize( $query->data );
|
$batch->data = maybe_unserialize( $query->data );
|
||||||
$batch->status = $query->status;
|
$batch->status = $query->status;
|
||||||
|
$batch->bg_uuid = $query->bg_uuid;
|
||||||
|
|
||||||
if ($batch->status != 'running') {
|
if ($batch->status != 'running') {
|
||||||
$this->open($batch->key);
|
$this->open($batch->key);
|
||||||
|
@ -271,6 +273,33 @@ abstract class Background_Process extends \Tainacan_WP_Background_Process {
|
||||||
return $batch;
|
return $batch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get batch by key ID
|
||||||
|
*
|
||||||
|
* @return stdClass Return the batch
|
||||||
|
*/
|
||||||
|
protected function get_batch_by_key($key) {
|
||||||
|
global $wpdb;
|
||||||
|
|
||||||
|
$table = $this->table;
|
||||||
|
|
||||||
|
$query = $wpdb->get_row( $wpdb->prepare( "
|
||||||
|
SELECT *
|
||||||
|
FROM {$table}
|
||||||
|
WHERE action = %s
|
||||||
|
AND ID = %s
|
||||||
|
LIMIT 1
|
||||||
|
", $this->action, $key ) );
|
||||||
|
|
||||||
|
$batch = new \stdClass();
|
||||||
|
$batch->key = $query->ID;
|
||||||
|
$batch->data = maybe_unserialize( $query->data );
|
||||||
|
$batch->status = $query->status;
|
||||||
|
$batch->bg_uuid = $query->bg_uuid;
|
||||||
|
return $batch;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle
|
* Handle
|
||||||
*
|
*
|
||||||
|
@ -428,10 +457,14 @@ abstract class Background_Process extends \Tainacan_WP_Background_Process {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function write_log($key, $log) {
|
protected function write_log($key, $log) {
|
||||||
$this->write_log_to_file($key, $log);
|
$batch = $this->get_batch_by_key($key);
|
||||||
|
$key_log = $batch->bg_uuid ?? $key;
|
||||||
|
$this->write_log_to_file($key_log, $log);
|
||||||
}
|
}
|
||||||
protected function write_error_log($key, $log) {
|
protected function write_error_log($key, $log) {
|
||||||
$this->write_log_to_file($key, $log, 'error');
|
$batch = $this->get_batch_by_key($key);
|
||||||
|
$key_log = $batch->bg_uuid ?? $key;
|
||||||
|
$this->write_log_to_file($key_log, $log, 'error');
|
||||||
}
|
}
|
||||||
|
|
||||||
private function recursive_stingify_log_array(array $log, $break = true) {
|
private function recursive_stingify_log_array(array $log, $break = true) {
|
||||||
|
|
|
@ -689,7 +689,6 @@ abstract class Exporter {
|
||||||
$upload_dir_info = wp_upload_dir();
|
$upload_dir_info = wp_upload_dir();
|
||||||
$prefix = $this->get_id();
|
$prefix = $this->get_id();
|
||||||
$upload_dir = trailingslashit( $upload_dir_info['basedir'] );
|
$upload_dir = trailingslashit( $upload_dir_info['basedir'] );
|
||||||
// $upload_url = trailingslashit( $upload_dir_info['baseurl'] );
|
|
||||||
$exporter_folder = 'tainacan/exporter';
|
$exporter_folder = 'tainacan/exporter';
|
||||||
$file_suffix = "{$exporter_folder}/{$prefix}_{$key}";
|
$file_suffix = "{$exporter_folder}/{$prefix}_{$key}";
|
||||||
|
|
||||||
|
|
|
@ -509,6 +509,20 @@ class Migrations {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static function alter_table_tnc_bg_process_add_uuid() {
|
||||||
|
global $wpdb;
|
||||||
|
// update default order by "creation_date" to "date"
|
||||||
|
$table_name = $wpdb->prefix . 'tnc_bg_process';
|
||||||
|
$column_exists = $wpdb->get_results( "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '$table_name' AND column_name = 'bg_uuid'" );
|
||||||
|
|
||||||
|
if(empty($column_exists)) {
|
||||||
|
$wpdb->query("
|
||||||
|
ALTER TABLE $table_name
|
||||||
|
ADD bg_uuid text NULL
|
||||||
|
");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue