diff options
author | Alex Grönholm <alex.gronholm@nextday.fi> | 2021-09-21 02:17:35 +0300 |
---|---|---|
committer | Alex Grönholm <alex.gronholm@nextday.fi> | 2021-09-21 02:17:35 +0300 |
commit | 191a9663c6fd2c65f7b524c59285dec5ac747ee7 (patch) | |
tree | ea0333cb5c939efe4033abb0f0198056be364b72 /src/apscheduler/structures.py | |
parent | 8326ac378e5b5f8e5cb2c45f20e0e1bdfa5075c0 (diff) | |
download | apscheduler-191a9663c6fd2c65f7b524c59285dec5ac747ee7.tar.gz |
Implemented context-local variables for running jobs
Diffstat (limited to 'src/apscheduler/structures.py')
-rw-r--r-- | src/apscheduler/structures.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/apscheduler/structures.py b/src/apscheduler/structures.py index a1e653b..d49e44e 100644 --- a/src/apscheduler/structures.py +++ b/src/apscheduler/structures.py @@ -124,6 +124,23 @@ class Job: return cls(**marshalled) +@attr.define(kw_only=True) +class JobInfo: + job_id: UUID + task_id: str + schedule_id: Optional[str] + scheduled_fire_time: Optional[datetime] + jitter: timedelta + start_deadline: Optional[datetime] + tags: frozenset[str] + + @classmethod + def from_job(cls, job: Job) -> JobInfo: + return cls(job_id=job.id, task_id=job.task_id, schedule_id=job.schedule_id, + scheduled_fire_time=job.scheduled_fire_time, jitter=job.jitter, + start_deadline=job.start_deadline, tags=job.tags) + + @attr.define(kw_only=True, frozen=True) class JobResult: job_id: UUID |