The content of the run() method of a WrapperTask inside a task decorator is always the same. Therefore, inspect.getsource(self.run), which is used during the hash generation to determine whether a task result is already cached or not, will not see, if the decorated task itself has been changed.
In that case you would need to run inspect.getsource() on the function, which has been decorated - and not the generic run() method of the WrapperTask class.
The content of the run() method of a WrapperTask inside a task decorator is always the same. Therefore, inspect.getsource(self.run), which is used during the hash generation to determine whether a task result is already cached or not, will not see, if the decorated task itself has been changed. In that case you would need to run inspect.getsource() on the function, which has been decorated - and not the generic run() method of the WrapperTask class.