[bug] DigestEmailsWorker jobs fill avaialable queue without clearing #924
Labels
No labels
approved, awaiting change
bug
configuration
documentation
duplicate
enhancement
extremely low priority
feature request
Fix it yourself
help wanted
invalid
mastodon_api
needs change/feedback
needs docs
needs tests
not a bug
planned
pleroma_api
privacy
question
static_fe
triage
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: AkkomaGang/akkoma#924
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Your setup
From source
Extra details
Fedora 42
Version
30b1684e28
PostgreSQL version
17
What were you trying to do?
Jobs from
Pleroma.Workers.Cron.DigestEmailsWorker
fills the available queue, even if digest emails are disabled in the config.This example shows a job scheduled 17 h ago but has not actually been executed or completed.

What did you expect to happen?
Job is not scheduled into the available queue, leaving it free for other jobs.
What actually happened?
Job isn't run, but fills available queue.
Logs
No response
Severity
I can manage
Have you searched for this issue?
Adding some more details and context:
DigestemailWorker
is a oban cron job running once per week (see"cron" => "true"
and thecron_expr
term in the screenshot). It’s scheduling is defined in the default config under:pleroma, Oban, :crontab
.Thus a single
available
job hanging around for a week might at first seem fine and the worker code itself also suggests it will just check the setting at runtime and exit as a noop if not enabled.However checking my own DB the job’s are only inserted once they are available for scheduling (
inserted_at
andscheduled_at
columns match for all entries)) and for me all jobs since the instance’s creation are still hanging around. Checking Prometheus stats confirms no singleDigestEmailsWorker
ever failed or succeeded.The other too cron jobs though,
NewUserDigestWorker
andPruneDatabaseWorker
are regularly running fine and do not get stuck inavailable
.I’m not sure how/why cron jobs work at all given Oban docs instruct us to configure them by enabling
Oban.Plugins.Cron
and passing thecrontab
settings to the plugin instead of being top-level Oban setting.It appears the queue isn’t properly registered:
Should be fixed by #925 although I’m a bit baffled by the implication of digest emails being completely non-functional for 6 years without anyone noticing and complaining, digest emails being disabled by default notwithstanding. Perhaps this just means no one is actually using them (and hence we could just drop it without anyone caring).