diff --git a/openedx/core/djangoapps/schedules/resolvers.py b/openedx/core/djangoapps/schedules/resolvers.py index d78fb3c082..440b558ca5 100644 --- a/openedx/core/djangoapps/schedules/resolvers.py +++ b/openedx/core/djangoapps/schedules/resolvers.py @@ -168,8 +168,7 @@ class ScheduleStartResolver(BinnedSchedulesBaseResolver): """ log_prefix = 'Scheduled Nudge' - def schedule_bin(self): - msg_type = RecurringNudge(abs(self.day_offset)) + def schedule_bin(self, msg_type): _annotate_for_monitoring(msg_type, self.site, self.bin_num, self.target_datetime, self.day_offset) for (user, language, context) in self.schedules_for_bin(): @@ -240,8 +239,7 @@ class UpgradeReminderResolver(BinnedSchedulesBaseResolver): """ log_prefix = 'Upgrade Reminder' - def schedule_bin(self): - msg_type = UpgradeReminder() + def schedule_bin(self, msg_type): _annotate_for_monitoring(msg_type, self.site, self.bin_num, self.target_datetime, self.day_offset) for (user, language, context) in self.schedules_for_bin(): @@ -337,8 +335,7 @@ class CourseUpdateResolver(BinnedSchedulesBaseResolver): """ log_prefix = 'Course Update' - def schedule_bin(self): - msg_type = CourseUpdate() + def schedule_bin(self, msg_type): _annotate_for_monitoring(msg_type, self.site, self.bin_num, self.target_datetime, self.day_offset) for (user, language, context) in self._course_update_schedules_for_bin(): diff --git a/openedx/core/djangoapps/schedules/tasks.py b/openedx/core/djangoapps/schedules/tasks.py index 33958945db..f51b961247 100644 --- a/openedx/core/djangoapps/schedules/tasks.py +++ b/openedx/core/djangoapps/schedules/tasks.py @@ -134,6 +134,7 @@ class ScheduleMessageBaseTask(Task): def run( self, site_id, target_day_str, day_offset, bin_num, org_list, exclude_orgs=False, override_recipient_email=None, ): + msg_type = self.make_message_type(day_offset) return self.resolver( self.async_send_task, Site.objects.get(id=site_id), @@ -143,7 +144,10 @@ class ScheduleMessageBaseTask(Task): org_list, exclude_orgs=exclude_orgs, override_recipient_email=override_recipient_email, - ).schedule_bin() + ).schedule_bin(msg_type) + + def make_message_type(self, day_offset): + raise NotImplementedError() @task(ignore_result=True, routing_key=ROUTING_KEY) @@ -170,6 +174,9 @@ class ScheduleRecurringNudge(ScheduleMessageBaseTask): resolver = resolvers.ScheduleStartResolver async_send_task = _recurring_nudge_schedule_send + def make_message_type(self, day_offset): + return resolvers.RecurringNudge(abs(day_offset)) + @task(ignore_result=True, routing_key=ROUTING_KEY) def _upgrade_reminder_schedule_send(site_id, msg_str): @@ -192,6 +199,9 @@ class ScheduleUpgradeReminder(ScheduleMessageBaseTask): resolver = resolvers.UpgradeReminderResolver async_send_task = _upgrade_reminder_schedule_send + def make_message_type(self, day_offset): + return resolvers.UpgradeReminder() + @task(ignore_result=True, routing_key=ROUTING_KEY) @@ -214,3 +224,6 @@ class ScheduleCourseUpdate(ScheduleMessageBaseTask): log_prefix = 'Course Update' resolver = resolvers.CourseUpdateResolver async_send_task = _course_update_schedule_send + + def make_message_type(self, day_offset): + return resolvers.CourseUpdate()