You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I came to an issue where table failed_jobs accidentally ended up having 2.5M rows. Using built-in queue:retry is not suitable as it uses all() and thus tries to load entire table into memory. Which fails obviously. Using --queue option was not an option too. Thus I was forced to override QueueServiceProvider, add custom stuff into registerFailedJobServices() and after that I could potentially create custom ChunkedDatabaseUuidFailedJobProvider.
It would be great if we could assign e.g. ChunkedDatabaseUuidFailedJobProvider via config/queue.php.
EDIT: Found another bug. FailedJobProviderInterface defines only method all() which naively fetches whole table. I'd also expose getTable() method as public. This way we could use ->getTable()->where(x, y, z)->cursor() instead of ->all().
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I came to an issue where table
failed_jobs
accidentally ended up having 2.5M rows. Using built-inqueue:retry
is not suitable as it usesall()
and thus tries to load entire table into memory. Which fails obviously. Using--queue
option was not an option too. Thus I was forced to overrideQueueServiceProvider
, add custom stuff intoregisterFailedJobServices()
and after that I could potentially create customChunkedDatabaseUuidFailedJobProvider
.It would be great if we could assign e.g.
ChunkedDatabaseUuidFailedJobProvider
viaconfig/queue.php
.EDIT: Found another bug.
FailedJobProviderInterface
defines only methodall()
which naively fetches whole table. I'd also exposegetTable()
method as public. This way we could use->getTable()->where(x, y, z)->cursor()
instead of->all()
.Beta Was this translation helpful? Give feedback.
All reactions