Skip to content

Commit 9b6ba0e

Browse files
committed
restructure api key handling
* include possibility of calling with API key value to better enable local testing of workflows
1 parent eea5a2f commit 9b6ba0e

2 files changed

Lines changed: 20 additions & 11 deletions

File tree

data_validation.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
1-
import os
2-
3-
from dotenv import load_dotenv
41
from prefect import task, flow, get_run_logger
52
import time as ttime
63
from tiled.client import from_profile
74

85

96
@task(retries=2, retry_delay_seconds=10)
10-
def read_all_streams(uid, beamline_acronym):
7+
def read_all_streams(uid, beamline_acronym, api_key=None):
118
logger = get_run_logger()
12-
with open("/srv/tiled.secret", "r") as secrets:
13-
load_dotenv(stream=secrets)
14-
api_key = os.environ["TILED_API_KEY"]
159
cl = from_profile("nsls2", api_key=api_key)
1610
run = cl["tst"]["raw"][uid]
1711
logger.info(f"Validating uid {run.start['uid']}")
@@ -28,5 +22,5 @@ def read_all_streams(uid, beamline_acronym):
2822

2923

3024
@flow
31-
def data_validation(uid):
32-
read_all_streams(uid, beamline_acronym="tst")
25+
def data_validation(uid, api_key=None):
26+
read_all_streams(uid, beamline_acronym="tst", api_key=api_key)

end_of_run_workflow.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,23 @@
1+
import os
2+
13
from prefect import task, flow, get_run_logger
24
from data_validation import data_validation
35
from test_extra_client import get_other_docs
6+
from dotenv import load_dotenv
47
# from long_flow import long_flow
58

69

10+
def get_api_key_from_env(api_key=None):
11+
logger = get_run_logger()
12+
try:
13+
with open("/srv/tiled.secret", "r") as secrets:
14+
load_dotenv(stream=secrets)
15+
api_key = os.environ["TILED_API_KEY"]
16+
except Exception:
17+
logger.exception("Exception while getting Tiled API key")
18+
return api_key
19+
20+
721
@task
822
def log_completion():
923
logger = get_run_logger()
@@ -14,7 +28,8 @@ def log_completion():
1428
def end_of_run_workflow(stop_doc):
1529
uid = stop_doc["run_start"]
1630
# hello_world()
17-
data_validation(uid, return_state=True)
18-
get_other_docs(uid)
31+
api_key = get_api_key_from_env(api_key=None)
32+
data_validation(uid, return_state=True, api_key=api_key)
33+
get_other_docs(uid, api_key=api_key)
1934
# long_flow(iterations=100, sleep_length=10)
2035
log_completion()

0 commit comments

Comments
 (0)