Problem/Motivation

The base video_style module can provide a shared operational action for making scheduled pending sync retries due on the next cron run. Provider modules that manage asynchronous remote synchronization need to opt in and implement that behavior for their own asset rows.

video_style_imagekit stores retry metadata for failed source synchronization attempts, including rows in pending_sync with a future sync_retry_after timestamp. When the underlying problem is fixed, for example after correcting runtime settings or changing the upload method, maintainers need a safe way to make those scheduled retries due immediately without processing them inline.

Steps to reproduce

  1. Install video_style and video_style_imagekit.
  2. Cause one or more ImageKit asset rows to enter pending_sync with a future retry timestamp.
  3. Fix the root cause, for example by correcting ImageKit runtime configuration.
  4. Use the shared recovery workflow from video_style.
  5. Observe that ImageKit does not yet provide a provider-side implementation for resetting those scheduled retries.

Proposed resolution

Implement the shared retry-reset capability for ImageKit.

The ImageKit module should provide a provider-owned handler that:

  • participates in the shared retry-reset contract exposed by video_style,
  • counts ImageKit rows in pending_sync that are still scheduled for a future retry time, and
  • makes those rows due immediately so the next cron run can retry them.

This implementation should:

  • only affect scheduled pending_sync rows,
  • not process any derivatives inline,
  • preserve attempt counters and last_error, and
  • leave actual retry execution to the existing cron and queue pipeline.

Remaining tasks

  • Add an ImageKit retry-reset handler that implements the shared video_style contract.
  • Wire that handler into the module service container with the shared retry-reset tag.
  • Use the existing ImageKit asset repository to count and reset scheduled pending sync retries.
  • Document that ImageKit participates in the shared asset-page operations UI and shared Drush recovery command.

User interface changes

Indirectly, yes.

After this issue is implemented, the shared operations UI from video_style will be able to act on ImageKit retry-pending rows.

API changes

No provider-specific public API changes.

This issue implements an existing shared extension point from video_style.

Data model changes

No.

This feature uses existing ImageKit retry metadata and does not require schema or configuration changes.

Comments

dpacassi created an issue. See original summary.

dpacassi’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

  • dpacassi committed eb89f0ba on 1.0.x
    Issue #3587350 by dpacassi: Implement the shared pending sync retry...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.