Skip to content

Commit

Permalink
Revert "feat: command to initialize cron job to slowly backfill CAP t…
Browse files Browse the repository at this point in the history
…erm data (#3425)" (#3620)

This reverts commit 0b0d79a.
  • Loading branch information
leogermani authored Dec 12, 2024
1 parent 07e768c commit c9a9d45
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 97 deletions.
90 changes: 0 additions & 90 deletions includes/cli/class-co-authors-plus.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,67 +15,11 @@
* Co-Authors Plus CLI commands.
*/
class Co_Authors_Plus {
const NEWSPACK_SCHEDULE_AUTHOR_TERM_BACKFILL = 'newspack_cap_author_term_backfill';

private static $live = false; // phpcs:ignore Squiz.Commenting.VariableComment.Missing
private static $verbose = true; // phpcs:ignore Squiz.Commenting.VariableComment.Missing
private static $user_logins = false; // phpcs:ignore Squiz.Commenting.VariableComment.Missing
private static $guest_author_ids = false; // phpcs:ignore Squiz.Commenting.VariableComment.Missing

/**
* Add hooks.
*/
public static function init() {
add_action( self::NEWSPACK_SCHEDULE_AUTHOR_TERM_BACKFILL, [ __CLASS__, 'run_cap_cli_command' ] );
add_action( 'init', [ __CLASS__, 'register_deactivation_hook' ] );
}

/**
* Execute the co-authors-plus create-terms-for-posts CLI command.
*/
public static function run_cap_cli_command() {
if ( method_exists( 'WP_CLI', 'runcommand' ) ) {
$result = WP_CLI::runcommand(
'co-authors-plus create-author-terms-for-posts --records-per-batch=50',
[
'exit_error' => false, // This allows us to capture any errors that occur during script execution.
'launch' => false, // This keeps any formatting that's been set.
'return' => 'all', // This ensures we get stdout, stderr, and return code.
]
);

WP_CLI::out( $result->stdout );

do_action(
'newspack_log',
self::NEWSPACK_SCHEDULE_AUTHOR_TERM_BACKFILL,
! empty( $result->stderr ) ? $result->stderr : $result->stdout,
[
'type' => 0 !== $result->return_code || ! empty( $result->stderr ) ? 'error' : 'success',
'data' => [
'stdout' => $result->stdout,
'timestamp' => gmdate( 'c', time() ),
],
'file' => 'newspack_cap_author_terms_backfill',
]
);
}
}

/**
* Unschedule any unexecuted jobs upon plugin deactivation.
*/
public static function register_deactivation_hook() {
register_deactivation_hook( NEWSPACK_PLUGIN_FILE, [ __CLASS__, 'unschedule_author_term_backfill' ] );
}

/**
* Clear the cron job when this plugin is deactivated.
*/
public static function unschedule_author_term_backfill() {
wp_clear_scheduled_hook( self::NEWSPACK_SCHEDULE_AUTHOR_TERM_BACKFILL );
}

/**
* Migrate Co-Authors Plus guest authors to regular users with the [Guest Contributor role](https://help.newspack.com/publishing-and-appearance/guest-contributors/).
*
Expand Down Expand Up @@ -180,39 +124,6 @@ public function backfill_non_editing_contributor( $args, $assoc_args ) {
WP_CLI::line( '' );
}

/**
* Set up a cron job to backfill any missing Co-Author plus author terms for posts.
* Runs incrementally at a rate of up to 250 posts per hour to minimize performance impact.
*
* @return void
* @throws WP_CLI\ExitException When the command fails.
*/
public function schedule_author_term_backfill() {
WP_CLI::line( '' );

if ( has_action( self::NEWSPACK_SCHEDULE_AUTHOR_TERM_BACKFILL ) ) {
remove_action(
self::NEWSPACK_SCHEDULE_AUTHOR_TERM_BACKFILL,
[ __CLASS__, 'run_cap_cli_command' ]
);
}

if ( ! wp_next_scheduled( self::NEWSPACK_SCHEDULE_AUTHOR_TERM_BACKFILL ) ) {
$result = wp_schedule_event( time(), 'hourly', self::NEWSPACK_SCHEDULE_AUTHOR_TERM_BACKFILL );
if ( $result ) {
WP_CLI::success( 'Scheduled author term backfill.' );
} else {
WP_CLI::error( 'Could not schedule author term backfill.' );
}
} else {
// Unschedule and reschedule.
self::unschedule_author_term_backfill();
self::schedule_author_term_backfill();
}

WP_CLI::line( '' );
}

/**
* Migrate unlinked guest authors to regular users.
*
Expand Down Expand Up @@ -578,4 +489,3 @@ private static function assign_user_avatar( $guest_author, $user_id ) {
}
}
}
Co_Authors_Plus::init();
7 changes: 0 additions & 7 deletions includes/cli/class-initializer.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,6 @@ public static function register_comands() {

WP_CLI::add_command( 'newspack migrate-co-authors-guest-authors', [ 'Newspack\CLI\Co_Authors_Plus', 'migrate_guest_authors' ] );
WP_CLI::add_command( 'newspack backfill-non-editing-contributors', [ 'Newspack\CLI\Co_Authors_Plus', 'backfill_non_editing_contributor' ] );
WP_CLI::add_command(
'newspack schedule-co-authors-author-term-backfill',
[
'Newspack\CLI\Co_Authors_Plus',
'schedule_author_term_backfill',
]
);
WP_CLI::add_command( 'newspack migrate-expired-subscriptions', [ 'Newspack\CLI\WooCommerce_Subscriptions', 'migrate_expired_subscriptions' ] );
}
}

0 comments on commit c9a9d45

Please sign in to comment.