Using non-zero exit codes for failures is a very friendly thing to do if your program could ever be invoked directly from the shell. Considering this is a qless worker, it seems unlikely, but I figured I'd point that aspect out.