Skip to content

Commit

Permalink
Add "invocation_started_at" global field (#246)
Browse files Browse the repository at this point in the history
* Add invocation_started_at

* Changie

* Add unit test
  • Loading branch information
gshank authored Feb 13, 2025
1 parent 397fb3f commit 9fcca14
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 1 deletion.
6 changes: 6 additions & 0 deletions .changes/unreleased/Features-20250213-135245.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
kind: Features
body: Add "invocation_started_at" global field
time: 2025-02-13T13:52:45.156677-05:00
custom:
Author: gshank
Issue: "245"
9 changes: 8 additions & 1 deletion dbt_common/invocation.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
import uuid
from datetime import datetime

_INVOCATION_ID = str(uuid.uuid4())
_INVOCATION_STARTED_AT = datetime.utcnow()


def get_invocation_id() -> str:
return _INVOCATION_ID


def get_invocation_started_at() -> datetime:
return _INVOCATION_STARTED_AT


def reset_invocation_id() -> None:
global _INVOCATION_ID
global _INVOCATION_ID, _INVOCATION_STARTED_AT
_INVOCATION_ID = str(uuid.uuid4())
_INVOCATION_STARTED_AT = datetime.utcnow()
12 changes: 12 additions & 0 deletions tests/unit/test_invocation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from dbt_common.invocation import get_invocation_id, get_invocation_started_at, reset_invocation_id


def test_invocation_started_at():
inv_id = get_invocation_id()
assert inv_id
inv_start = get_invocation_started_at()
assert inv_start

reset_invocation_id()
inv_start != get_invocation_started_at()
inv_id != get_invocation_id()

0 comments on commit 9fcca14

Please sign in to comment.