summaryrefslogtreecommitdiff
path: root/src/apscheduler/_context.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/apscheduler/_context.py')
-rw-r--r--src/apscheduler/_context.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/apscheduler/_context.py b/src/apscheduler/_context.py
new file mode 100644
index 0000000..42ccf87
--- /dev/null
+++ b/src/apscheduler/_context.py
@@ -0,0 +1,22 @@
+from __future__ import annotations
+
+from contextvars import ContextVar
+from typing import TYPE_CHECKING
+
+if TYPE_CHECKING:
+ from .schedulers.async_ import AsyncScheduler
+ from .schedulers.sync import Scheduler
+ from .structures import JobInfo
+ from .workers.async_ import AsyncWorker
+ from .workers.sync import Worker
+
+#: The currently running (local) scheduler
+current_scheduler: ContextVar[Scheduler | AsyncScheduler | None] = ContextVar(
+ "current_scheduler", default=None
+)
+#: The worker running the current job
+current_worker: ContextVar[Worker | AsyncWorker | None] = ContextVar(
+ "current_worker", default=None
+)
+#: Metadata about the current job
+job_info: ContextVar[JobInfo] = ContextVar("job_info")