Skip to content

Commit feff7be

Browse files
committed
Clean up getting values from context
Get from the context early, and set a default and cast as necessary.
1 parent f56abf6 commit feff7be

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

src/noteburst/worker/functions/nbexec.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,12 @@ async def nbexec(
4646
`NotebookExecutionResult` object.
4747
"""
4848
job_id = ctx.get("job_id", "unknown")
49+
job_try = ctx.get("job_try", 1)
50+
job_try = cast("int", job_try)
51+
4952
logger = ctx["logger"].bind(
5053
task="nbexec",
51-
job_attempt=ctx.get("job_try", -1),
54+
job_attempt=job_try,
5255
job_id=job_id,
5356
kernel_name=kernel_name,
5457
)
@@ -74,22 +77,19 @@ async def nbexec(
7477
except TimeoutError as e:
7578
raise NbexecTaskTimeoutError.from_exception(e) from e
7679
except NubladoClientSlackException as e:
77-
if hasattr(e, "status"):
78-
logger.exception("nbexec error", jupyter_status=e.status)
79-
else:
80-
logger.exception("nbexec error")
81-
if "slack" in ctx and "slack_message_factory" in ctx:
80+
logger.exception(
81+
"nbexec error", jupyter_status=getattr(e, "status", None)
82+
)
83+
if "slack" in ctx:
8284
slack_client = ctx["slack"]
8385
message = e.to_slack()
8486
message.fields.append(
85-
SlackTextField(
86-
heading="Job ID", text=ctx.get("job_id", "unknown")
87-
)
87+
SlackTextField(heading="Job ID", text=job_id)
8888
)
8989
message.fields.append(
9090
SlackTextField(
9191
heading="Attempt",
92-
text=str(ctx.get("job_try", "unknown")),
92+
text=str(job_try),
9393
)
9494
)
9595
await slack_client.post(message)
@@ -107,22 +107,22 @@ async def nbexec(
107107
"authentication error during nbexec."
108108
)
109109
message.fields.append(
110-
SlackTextField(
111-
heading="Job ID", text=ctx.get("job_id", "unknown")
112-
)
110+
SlackTextField(heading="Job ID", text=job_id)
113111
)
114112
message.fields.append(
115113
SlackTextField(
116114
heading="Attempt",
117-
text=str(ctx.get("job_try", "unknown")),
115+
text=str(job_try),
118116
)
119117
)
120118
await slack_client.post(message)
121119

122120
sys.exit("400 class error from Jupyter")
121+
123122
elif enable_retry:
124123
logger.warning("nbexec triggering retry")
125-
raise Retry(defer=ctx["job_try"] * 5) from None
124+
raise Retry(defer=job_try * 5) from None
125+
126126
else:
127127
raise NbexecTaskError.from_exception(e) from e
128128

0 commit comments

Comments
 (0)