## Try this import bpy def run_every_01_sec(): if RETURN in ({'CANCELLED'}, {'FINISHED'}): print("op end") bpy.app.timers.unregister(run_every_01_sec) else: print("op running") return 0.1 RETURN = bpy.ops.object.bake_image() bpy.app.timers.register(run_every_01_sec)