скрипт засыпает надолго нужно прервать работу функции sleep по событию или как можно сделать ожидание события чтобы время работы скрипта не учитывалось как в sleep?
Заюзай цикл в котором будет маленький слип и проверка на условие какое тебе нужно, когда выполнится то break; и дальше действия после цикла