Skip to content

Commit ca28fce

Browse files
committed
Refactor nudge tasks to improve failure handling and return values
- Updated the community admin events and testimonials nudges to return None for failure messages when no emails are sent, while still including failure details in the result. - Adjusted the user event nudge to follow the same pattern, ensuring consistent handling of empty audiences and failure reporting across all nudge tasks.
1 parent 019277a commit ca28fce

3 files changed

Lines changed: 12 additions & 20 deletions

File tree

src/task_queue/nudges/cadmin_events_nudge.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -157,19 +157,15 @@ def send_events_nudge(task=None) -> Tuple[bool, str]:
157157

158158
update_last_notification_dates(admins_emailed, CADMIN_NUDGE_KEY)
159159

160-
# If any failures occurred, report them and fail the overall task
161-
if failures:
162-
result = {
163-
"audience": ",".join(admins_emailed),
164-
"scope": "CADMIN",
165-
"failures": failures,
166-
}
167-
return result, None
160+
if len(admins_emailed)==0:
161+
result = {"audience": ",".join(admins_emailed), "scope": "USER", "failures": failures}
162+
return None, str(result)
168163

169164

170165
result = {
171166
"audience": ",".join(admins_emailed),
172167
"scope": "CADMIN",
168+
"failures": failures,
173169
}
174170

175171
return result, None

src/task_queue/nudges/cadmin_testimonial_nudge.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,13 +232,12 @@ def prepare_testimonials_for_community_admins(task=None):
232232

233233
update_last_notification_dates(emailed_list, TESTIMONIAL_NUDGE_KEY)
234234

235-
# If any failures occurred, report them and fail the overall task
236-
if failures:
237-
res = {"scope":"CADMIN","audience": ",".join(emailed_list), "failures": failures}
238-
return res, None
235+
if len(emailed_list)==0:
236+
result = {"audience": ",".join(emailed_list), "scope": "USER", "failures": failures}
237+
return None, str(result)
239238

240239

241-
res = {"scope":"CADMIN","audience": ",".join(emailed_list)}
240+
res = {"scope":"CADMIN","audience": ",".join(emailed_list), "failures": failures}
242241
log.info("Successfully sent nudge to all community admins")
243242
return res, None
244243
except Exception as e:

src/task_queue/nudges/user_event_nudge.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -345,15 +345,12 @@ def prepare_user_events_nudge(task=None, email=None, community_id=None):
345345
for email_addr in audience:
346346
update_last_notification_dates(email_addr)
347347

348-
349-
# If any failures occurred, report them and fail the overall task
350-
if failures:
348+
if len(audience)==0:
351349
result = {"audience": ",".join(audience), "scope": "USER", "failures": failures}
352-
return result, None
353-
354-
350+
351+
return None, str(result)
355352

356-
result = {"audience": ",".join(audience), "scope": "USER"}
353+
result = {"audience": ",".join(audience), "scope": "USER", "failures": failures}
357354

358355
return result, None
359356
except Exception as e:

0 commit comments

Comments
 (0)