Apologies that I didn't find this in the PHP 8 upgrade PR, but it's very inconsistent. I can run this Job dozens of times without error, but then just every now and then it breaks.
I don't fully understand the issue, but this is what seems to be happening.
A job is queued with one or more of these dynamic properties set to null.
When the jobData is being hydrated back onto the Job, for reasons I don't understand, the value gets set to bool instead of null.
This is causing the Job to break, since our getters() expect a non-boolean value.
Until we get to a point where the dynamic properties can be removed, I think it would be easier to just not define expected return types, so long as our code understands that possibility (which it does).
Apologies that I didn't find this in the PHP 8 upgrade PR, but it's very inconsistent. I can run this Job dozens of times without error, but then just every now and then it breaks.
I don't fully understand the issue, but this is what seems to be happening.
null
.jobData
is being hydrated back onto the Job, for reasons I don't understand, the value gets set tobool
instead ofnull
.getters()
expect a non-boolean value.Until we get to a point where the dynamic properties can be removed, I think it would be easier to just not define expected return types, so long as our code understands that possibility (which it does).