-
Notifications
You must be signed in to change notification settings - Fork 16
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
Feature/3.0.0 beta1 #25
Conversation
Working on both Postgres and Mysql. |
This is a shame. Queued items aren't debuggable or inspectable when stored this way - I'm not sure that using JSONB all the way down was the right answer either, but at least it was easy to see details of what was queued (although this broke down when you hit the inner payload, which obviously is also stored as an array of raw integers). |
Every property is now stored in a dedicated DB field, which might help if you need to see some details about a queued task, it makes them very easily queryable. |
I'm with @tonyarnold on this one. Why can't the payload be a proper jsonb type? It makes debugging very difficult even with the other properties now in dedicated columns. |
What works with Postgres breaks on Mysql. Not sure if this is due the underlying DB type that fluent uses, or some Fluent driver issue... If you think there could be a solution that works with at least these 2 database engines, I'm happy to hold off on this new release for a few days. |
@m-barthelemy I just did a brief look and see why you're limited here. Queues itself only provides it as |
This seems much better, @m-barthelemy. @grahamburgsma I really feel like the |
I've just suggested upstream that |
I don't see any easy short term fix, does that sound good to you if we release 3.0.0 as is? @tonyarnold @grahamburgsma |
Yeah, that's unrelated to anything going on here. Postico actually shows the payload column as I think if you're happy with this new approach, it works for my needs. |
QueuesFluentDriver 3.0
Breaking changes
In fact, after successfully upgrading, you can delete the table created by the 1.x releases of QueuesFluentDriver.
list()
method has been removed. Not sure if anyone was really using this feature; can be added back upon request.JobIdentifier
, it is now your responsibility to ensure that you don't create another job with the same ID as a job that still exists in the QueuesFluentDriver DB tables.Generally, we don't recommend using custom
JobIdentifier
s with this package (unless you are absolutely certain that your custom values will be unique).You can opt in for the previous behavior by setting
app.queues.use(.fluent(useSoftDeletes: true))
Other internal changes:
[UInt8]
and skips the intermediate JSON encoding previously used; this should have a small but positive impact on performance.