Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Dispatcher to use Outbox #1186

Merged
merged 37 commits into from
Jan 23, 2025
Merged

Conversation

pfefferle
Copy link
Member

@pfefferle pfefferle commented Jan 20, 2025

Simple dispatcher based on the Outbox-Collection.

This is a simple rewrite of the current dispatcher system, to use the Outbox instead of the Scheduler.

This is a first draft and will be improved over time, to better handle:

  • Re-tries
  • Errors
  • Logging
  • Batch processing

@mattwiebe
Copy link
Contributor

This is a first draft and will be improved over time, to better handle:

  • Re-tries
  • Errors
  • Logging
  • Batch processing

I'm going to take on some or all of those, let's see how far I get.

@mattwiebe
Copy link
Contributor

@pfefferle I assume we need to get these tests passed? I'd really like this merged into #593 before I bring in my error/logging stuff

@mattwiebe mattwiebe mentioned this pull request Jan 21, 2025
1 task
obenland added a commit that referenced this pull request Jan 21, 2025
includes/class-dispatcher.php Outdated Show resolved Hide resolved
includes/class-dispatcher.php Outdated Show resolved Hide resolved
includes/rest/class-outbox-controller.php Outdated Show resolved Hide resolved
obenland added a commit that referenced this pull request Jan 21, 2025
@mattwiebe
Copy link
Contributor

#1197 adds logging, and can form the basis of batching and retries as well

@pfefferle pfefferle added this to the Outbox milestone Jan 22, 2025
@pfefferle pfefferle requested a review from a team January 22, 2025 09:53
includes/functions.php Show resolved Hide resolved
includes/transformer/class-base.php Outdated Show resolved Hide resolved
includes/scheduler/class-post.php Outdated Show resolved Hide resolved
obenland added a commit that referenced this pull request Jan 22, 2025
* Outbox: Use callbacks that can be unhooked.

* Add unit tests

* Use data provider in no-activity tests

* Make sure user has activitypub cap

* Use should_be_federated() instead

See #1186.

* Update with learnings from #1196
@pfefferle pfefferle merged commit 9bcf121 into add/outbox-collection Jan 23, 2025
20 checks passed
@pfefferle pfefferle deleted the update/dispatcher branch January 23, 2025 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants