Add an option to cancel the queue without throwing errors
In my use case, Id like to cancel a Queue and get rid of all the items within the queue, but without throwing the QueueCancelledException. A so called 'silent' cancel.
Here I've added an option supressErrorsOnCancel which defaults to false so it doesn't do any breaking changes
But if its true then instead of doing a .completeError it will just do a .complete
This is the part I'm unsure if it's going to function as intended. In my own use case this seems to be working just fine. But please review if you think it should be merged in.
Essentially, I'm expecting that it will just close out the queue item with a .complete without actually executing the queue item. If its not working like that then please feel free to reject this PR
So I have no problem with a silent cancel, I guess my only foreseeable problems would be around maintaining null safety when its completed, and perhaps memory leaks. I'll need to dig into the code to ensure both of those wont be an issue - but realistically if your PR has all the tests passing, the memory leak and null safety issues are probably already existing in the code and haven't been thought about anyway.
So I have no problem with a silent cancel, I guess my only foreseeable problems would be around maintaining null safety when its completed, and perhaps memory leaks. I'll need to dig into the code to ensure both of those wont be an issue - but realistically if your PR has all the tests passing, the memory leak and null safety issues are probably already existing in the code and haven't been thought about anyway.
Sounds great-- mainly I'm concerned that by putting in .complete, it doesn't go ahead and execute the queue item. Hopefully you don't see that happening on your end
@rknell Just wanted to bump this