There Should be a `CannotRetry` class of Errors
These would cause the job to fail and skip the retry system completely.
This is specifically interesting for serialization errors. Right now those are marked as driver errors, but really they shouldn't cause the process to exit. Instead they should fail the job immediately and move onto the next thing.
This is specifically interesting for serialization errors. Right now those are marked as driver errors, but really they shouldn't cause the process to exit. Instead they should fail the job immediately and move onto the next thing.
Turns out this is a really bad example. Should something like this happen, the driver itself should fail/bury the message itself. Not leaking those details to the consumer. That circumvents any logging or other things, though.
Another thing to consider here is that PcntlForkingHandler can't really use this exception as exceptions thrown in the child thread are not going to make it to the parent. The only thing to make it work would be using a specific exit code for no-retries.
This is all my way of saying this feature isn't very well though out (yet).