INNER CODE UNIT · Python
once
MichielMe/fastscheduler · src/fastscheduler/main.py:206
def once(self, delay: Union[int, float]) -> OnceScheduler:
"""Schedule a one-time task."""
scheduler = OnceScheduler(self, delay)
scheduler._decorator_mode = True
return scheduler
def at(self, target_time: Union[datetime, str]) -> OnceScheduler:
"""Schedule a task at a specific datetime."""
if isinstance(target_time, str):
target_time = datetime.strptime(target_time, "%Y-%m-%d %H:%M:%S")
delay = (target_time - datetime.now()).total_seconds()
if delay < 0:
raise ValueError("Target time is in the past")
scheduler = OnceScheduler(self, delay)
scheduler._decorator_mode = True
return scheduler