Do an action automatically every n minutes with Python?
According to Application Timers documentation for Blender 2.80 it quite simple:

def in_1_seconds(obj):
    if obj.location.y &gt; 0.5:
        return None
    else:
        obj.location += Vector((0.0, 0.1, 0.0))
        return 1

bpy.app.timers.register(functools.partial(in_1_seconds, bpy.context.active_object))


functools used to anchor active object to timer

timer function returns a float with seconds to next delay which may be changed dynamically

return None to stop function execution in test purpose it can be Keyboard Interrupted