Wouldn’t advise waiting for completion, since sensors are meant to poll on short intervals, but you could gate sending a new run request on seeing whether a run matching your specifications has already been sent recently using something like
context.instance.get_run_records