aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/sentry_sdk/crons/api.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/sentry_sdk/crons/api.py')
-rw-r--r--.venv/lib/python3.12/site-packages/sentry_sdk/crons/api.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/sentry_sdk/crons/api.py b/.venv/lib/python3.12/site-packages/sentry_sdk/crons/api.py
new file mode 100644
index 00000000..20e95685
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/sentry_sdk/crons/api.py
@@ -0,0 +1,57 @@
+import uuid
+
+import sentry_sdk
+
+from typing import TYPE_CHECKING
+
+if TYPE_CHECKING:
+ from typing import Optional
+ from sentry_sdk._types import Event, MonitorConfig
+
+
+def _create_check_in_event(
+ monitor_slug=None, # type: Optional[str]
+ check_in_id=None, # type: Optional[str]
+ status=None, # type: Optional[str]
+ duration_s=None, # type: Optional[float]
+ monitor_config=None, # type: Optional[MonitorConfig]
+):
+ # type: (...) -> Event
+ options = sentry_sdk.get_client().options
+ check_in_id = check_in_id or uuid.uuid4().hex # type: str
+
+ check_in = {
+ "type": "check_in",
+ "monitor_slug": monitor_slug,
+ "check_in_id": check_in_id,
+ "status": status,
+ "duration": duration_s,
+ "environment": options.get("environment", None),
+ "release": options.get("release", None),
+ } # type: Event
+
+ if monitor_config:
+ check_in["monitor_config"] = monitor_config
+
+ return check_in
+
+
+def capture_checkin(
+ monitor_slug=None, # type: Optional[str]
+ check_in_id=None, # type: Optional[str]
+ status=None, # type: Optional[str]
+ duration=None, # type: Optional[float]
+ monitor_config=None, # type: Optional[MonitorConfig]
+):
+ # type: (...) -> str
+ check_in_event = _create_check_in_event(
+ monitor_slug=monitor_slug,
+ check_in_id=check_in_id,
+ status=status,
+ duration_s=duration,
+ monitor_config=monitor_config,
+ )
+
+ sentry_sdk.capture_event(check_in_event)
+
+ return check_in_event["check_in_id"]