Skip to content

feat(core): add a message queue for asynchronous tasks - #65126

Draft
CarlSchwan wants to merge 1 commit into
masterfrom
carl/message-bus
Draft

CarlSchwan wants to merge 1 commit into
masterfrom
carl/message-bus

Conversation

@CarlSchwan

@CarlSchwan CarlSchwan commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Summary

Apps declare messages with #[AsMessage] and handlers with section of info.xml and dispatch messages through IMessageBus.

Messages are stored in the database and consumed by default, when a web request is handled by the same process after the response was sent with fastcgi_finish_request(), then with the background jobs if there is anything remaining on each cron run.

Large instances can disable this with 'message_queue.consume_in_cron' and run dedicated workers with occ message-queue:consume.

TODO

  • ...

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

@CarlSchwan CarlSchwan self-assigned this Oct 5, 2026
@CarlSchwan CarlSchwan added the 2. developing Work in progress label Oct 5, 2026
@CarlSchwan CarlSchwan added this to the Nextcloud 36 milestone Oct 5, 2026
Apps declare messages with #[AsMessage] and handlers with
section of info.xml and dispatch messages through IMessageBus.

Messages are stored in the database and consumed after the background
jobs of each cron run, so no additional software is needed. Large
instances can disable this with 'message_queue.consume_in_cron' and run
dedicated workers with occ message-queue:consume.

When running under PHP-FPM, messages dispatched during a web request
are handled by the same process after the response was sent with
fastcgi_finish_request(), so small instances don't have to wait for
the next cron run.

Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: Carl Schwan <carl@carlschwan.eu>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants