I had a similar problem once, but I did not find a clean way to achieve this - only a dirty hack:
Every time the packer finishes an operation it sets a return code in the variable:
So one possible solution is to set this variable to -1 before calling the pack operation and then monitor its value in time intervals (e.g. 100 ms using a timer). The value greater or equal 0 means the operation is done - 0 means success, a value greater than 0 indicates an error.
Note that I didn’t test this approach so there might be some other details one should take into consideration to make it work. You will probably have to use a modal operator with a timer so retcode variable update is visible in your script.