Exemplo n.º 1
0
    def enqueue(cls,
                site,
                current_date,
                day_offset,
                override_recipient_email=None):
        current_date = resolvers._get_datetime_beginning_of_day(current_date)

        if not cls.is_enqueue_enabled(site):
            cls.log_debug('Message queuing disabled for site %s', site.domain)
            return

        target_date = current_date + datetime.timedelta(days=day_offset)
        cls.log_debug('Target date = %s', target_date.isoformat())
        for bin in range(cls.num_bins):
            task_args = (
                site.id,
                serialize(target_date),
                day_offset,
                bin,
                override_recipient_email,
            )
            cls.log_debug('Launching task with args = %r', task_args)
            cls.apply_async(
                task_args,
                retry=False,
            )
Exemplo n.º 2
0
    def enqueue(cls,
                site,
                current_date,
                day_offset,
                override_recipient_email=None):  # lint-amnesty, pylint: disable=missing-function-docstring
        set_code_owner_attribute_from_module(__name__)
        current_date = resolvers._get_datetime_beginning_of_day(current_date)  # lint-amnesty, pylint: disable=protected-access

        if not cls.is_enqueue_enabled(site):
            cls.log_info(u'Message queuing disabled for site %s', site.domain)
            return

        target_date = current_date + datetime.timedelta(days=day_offset)
        cls.log_info(u'Target date = %s', target_date.isoformat())
        for bin in range(cls.num_bins):  # lint-amnesty, pylint: disable=redefined-builtin
            task_args = (
                site.id,
                serialize(target_date),
                day_offset,
                bin,
                override_recipient_email,
            )
            cls.log_info(u'Launching task with args = %r', task_args)
            cls.task_instance.apply_async(
                task_args,
                retry=False,
            )
Exemplo n.º 3
0
    def enqueue(cls, site, current_date, day_offset, override_recipient_email=None):
        current_date = _get_datetime_beginning_of_day(current_date)

        for course_key, config in CourseDurationLimitConfig.all_current_course_configs().items():
            if not config['enabled'][0]:
                cls.log_info(u'Course duration limits disabled for course_key %s, skipping', course_key)
                continue

            # enqueue_enabled, _ = config[cls.enqueue_config_var]
            # TODO: Switch over to a model where enqueing is based in CourseDurationLimitConfig
            enqueue_enabled = waffle.switch_is_active('course_duration_limits.enqueue_enabled')

            if not enqueue_enabled:
                cls.log_info(u'Message queuing disabled for course_key %s', course_key)
                continue

            target_date = current_date + datetime.timedelta(days=day_offset)
            for bin_num in range(cls.num_bins):
                task_args = (
                    site.id,
                    unicode(course_key),
                    serialize(target_date),
                    day_offset,
                    bin_num,
                    override_recipient_email,
                )
                cls().apply_async(
                    task_args,
                    retry=False,
                )
Exemplo n.º 4
0
    def enqueue(cls, site, current_date, day_offset, override_recipient_email=None):
        current_date = _get_datetime_beginning_of_day(current_date)

        for course_key, config in CourseDurationLimitConfig.all_current_course_configs().items():
            if not config['enabled'][0]:
                cls.log_info(u'Course duration limits disabled for course_key %s, skipping', course_key)
                continue

            # enqueue_enabled, _ = config[cls.enqueue_config_var]
            # TODO: Switch over to a model where enqueing is based in CourseDurationLimitConfig
            enqueue_enabled = waffle.switch_is_active('course_duration_limits.enqueue_enabled')

            if not enqueue_enabled:
                cls.log_info(u'Message queuing disabled for course_key %s', course_key)
                continue

            target_date = current_date + datetime.timedelta(days=day_offset)
            task_args = (
                site.id,
                six.text_type(course_key),
                serialize(target_date),
                day_offset,
                override_recipient_email,
            )
            cls().apply_async(
                task_args,
                retry=False,
            )
 def _get_dates(self, offset=None):
     current_day = _get_datetime_beginning_of_day(datetime.datetime.now(pytz.UTC))
     offset = offset or self.expected_offsets[0]
     target_day = current_day + datetime.timedelta(days=offset)
     if self.resolver.schedule_date_field == 'upgrade_deadline':
         upgrade_deadline = target_day
     else:
         upgrade_deadline = current_day + datetime.timedelta(days=7)
     return current_day, offset, target_day, upgrade_deadline
Exemplo n.º 6
0
 def _get_dates(self, offset=None):
     current_day = _get_datetime_beginning_of_day(datetime.datetime.now(pytz.UTC))
     offset = offset or self.expected_offsets[0]
     target_day = current_day + datetime.timedelta(days=offset)
     if self.resolver.schedule_date_field == 'upgrade_deadline':
         upgrade_deadline = target_day
     else:
         upgrade_deadline = current_day + datetime.timedelta(days=7)
     return current_day, offset, target_day, upgrade_deadline
Exemplo n.º 7
0
 def _get_dates(self, offset=None):  # lint-amnesty, pylint: disable=missing-function-docstring
     current_day = _get_datetime_beginning_of_day(datetime.datetime.now(pytz.UTC))
     offset = offset or self.expected_offsets[0]
     target_day = current_day + datetime.timedelta(days=offset)
     if self.resolver.schedule_date_field == 'upgrade_deadline':
         upgrade_deadline = target_day
     else:
         upgrade_deadline = current_day + datetime.timedelta(days=7)
     return current_day, offset, target_day, upgrade_deadline
Exemplo n.º 8
0
    def enqueue(cls, site, current_date, day_offset, override_recipient_email=None):
        current_date = resolvers._get_datetime_beginning_of_day(current_date)

        if not cls.is_enqueue_enabled(site):
            cls.log_info('Message queuing disabled for site %s', site.domain)
            return

        target_date = current_date + datetime.timedelta(days=day_offset)
        cls.log_info('Target date = %s', target_date.isoformat())
        for bin in range(cls.num_bins):
            task_args = (
                site.id,
                serialize(target_date),
                day_offset,
                bin,
                override_recipient_email,
            )
            cls.log_info('Launching task with args = %r', task_args)
            cls().apply_async(
                task_args,
                retry=False,
            )
Exemplo n.º 9
0
 def _get_dates(self, offset=None):
     current_day = _get_datetime_beginning_of_day(
         datetime.datetime.now(pytz.UTC))
     offset = offset or self.expected_offsets[0]
     target_day = current_day + datetime.timedelta(days=offset)
     return current_day, offset, target_day