From c4e38a18ed5755663af10d26c4e4aca3e371507b Mon Sep 17 00:00:00 2001 From: Marco Pereirinha Date: Wed, 29 Jul 2020 16:33:23 +0100 Subject: [PATCH 1/2] Cleanup syncing and downloading keys if processes fails --- .../php/sync/class-push-sync.php | 2 ++ .../php/sync/class-upload-queue.php | 1 + 2 files changed, 3 insertions(+) diff --git a/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-push-sync.php b/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-push-sync.php index e95bc6e31..732ce5cb8 100644 --- a/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-push-sync.php +++ b/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-push-sync.php @@ -404,6 +404,7 @@ public function prepare_upload( $post, $push_sync = false ) { if ( true === $push_sync ) { $download = $this->sync->managers['download']->down_sync( $post->ID ); if ( is_wp_error( $download ) ) { + delete_post_meta( $post->ID, Sync::META_KEYS['downloading'] ); update_post_meta( $post->ID, Sync::META_KEYS['sync_error'], $download->get_error_message() ); return new \WP_Error( 'attachment_download_error', $download->get_error_message() ); @@ -681,6 +682,7 @@ public function push_attachments( $attachments ) { $error = $result->get_error_message(); $stats['fail'][] = $error; $this->media->update_post_meta( $attachment->ID, Sync::META_KEYS['sync_error'], $error ); + delete_post_meta( $attachment->ID, Sync::META_KEYS['syncing'] ); continue; } diff --git a/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-upload-queue.php b/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-upload-queue.php index 781cf782a..930cbf1a6 100644 --- a/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-upload-queue.php +++ b/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-upload-queue.php @@ -140,6 +140,7 @@ public function mark( $id, $type = 'done' ) { $queue[ $type ][] = '
' . basename( $file ) . ': ' . $state->get_error_message() . '
'; // Add a flag that this file had an error as to not try process it again. update_post_meta( $id, Sync::META_KEYS['sync_error'], $state->get_error_message() ); + delete_post_meta( $id, Sync::META_KEYS['syncing'], $state->get_error_message() ); } } else { if ( ! in_array( $id, $queue[ $type ], true ) ) { From 7e3e291720f662cdbcc02dbe79a18263ff356fe0 Mon Sep 17 00:00:00 2001 From: Marco Pereirinha Date: Wed, 29 Jul 2020 16:35:06 +0100 Subject: [PATCH 2/2] No need for the suffix if we are downloading the asset --- .../php/sync/class-push-sync.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-push-sync.php b/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-push-sync.php index 732ce5cb8..c7033c533 100644 --- a/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-push-sync.php +++ b/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/sync/class-push-sync.php @@ -542,7 +542,7 @@ public function prepare_upload( $post, $push_sync = false ) { $suffix_data = wp_parse_args( $suffix_meta, $suffix_defaults ); // Prepare a uniqueness check and get a suffix if needed. - if ( true === $push_sync ) { + if ( true === $push_sync && true !== $downsync ) { if ( $public_id !== $suffix_data['public_id'] || empty( $suffix_data['suffix'] ) ) { $suffix_data['suffix'] = $this->sync->add_suffix_maybe( $public_id, $post->ID ); if ( ! empty( $suffix_data['suffix'] ) ) {