in src/olympia/addons/management/commands/process_addons.py [0:0]
def get_tasks(self):
def get_recalc_needed_filters():
summary_modified_field = '_current_version__autoapprovalsummary__modified'
recent_abuse_reports_subquery = AbuseReport.objects.filter(
created__gte=OuterRef(summary_modified_field),
guid=OuterRef('guid'),
)
return [
# Only recalculate add-ons that received recent abuse reports
# possibly through their authors.
Q(
Exists(recent_abuse_reports_subquery),
)
| Q(
authors__abuse_reports__created__gte=F(summary_modified_field),
)
# And check ratings that have a rating of 3 or less
| Q(
_current_version__ratings__deleted=False,
_current_version__ratings__created__gte=F(summary_modified_field),
_current_version__ratings__rating__lte=3,
)
]
return {
'find_inconsistencies_between_es_and_db': {
'task': find_inconsistencies_between_es_and_db,
'queryset_filters': [],
},
'get_preview_sizes': {'task': get_preview_sizes, 'queryset_filters': []},
'recalculate_post_review_weight': {
'task': recalculate_post_review_weight,
'queryset_filters': [
Q(_current_version__autoapprovalsummary__verdict=amo.AUTO_APPROVED)
& ~Q(_current_version__autoapprovalsummary__confirmed=True)
],
},
'constantly_recalculate_post_review_weight': {
'task': recalculate_post_review_weight,
'queryset_filters': get_recalc_needed_filters(),
},
'bump_and_resign_addons': {
'task': bump_and_resign_addons,
'queryset_filters': [
# Only resign public add-ons where the latest version has been
# created before the 5th of April
Q(
status=amo.STATUS_APPROVED,
_current_version__created__lt=datetime(2019, 4, 5),
disabled_by_user=False,
type__in=(
amo.ADDON_EXTENSION,
amo.ADDON_STATICTHEME,
amo.ADDON_DICT,
),
)
],
},
'recreate_previews': {
'task': recreate_previews,
'queryset_filters': [~Q(type=amo.ADDON_STATICTHEME)],
},
'recreate_theme_previews': {
'task': recreate_theme_previews,
'queryset_filters': [
Q(
type=amo.ADDON_STATICTHEME,
status__in=[amo.STATUS_APPROVED, amo.STATUS_NOMINATED],
)
],
'kwargs': {'only_missing': False},
},
'create_missing_theme_previews': {
'task': recreate_theme_previews,
'queryset_filters': [
Q(
type=amo.ADDON_STATICTHEME,
status__in=[amo.STATUS_APPROVED, amo.STATUS_AWAITING_REVIEW],
)
],
'kwargs': {'only_missing': True},
},
'delete_list_theme_previews': {
'task': delete_list_theme_previews,
'queryset_filters': [
Q(
type=amo.ADDON_STATICTHEME,
)
],
},
'extract_colors_from_static_themes': {
'task': extract_colors_from_static_themes,
'queryset_filters': [Q(type=amo.ADDON_STATICTHEME)],
},
'delete_obsolete_addons': {
'task': delete_addons,
'queryset_filters': [
Q(
type__in=(
_ADDON_THEME,
_ADDON_LPADDON,
_ADDON_PLUGIN,
_ADDON_PERSONA,
_ADDON_WEBAPP,
)
)
],
'allowed_kwargs': ('with_deleted',),
},
'update_rating_aggregates': {
'task': addon_rating_aggregates,
'queryset_filters': [Q(status=amo.STATUS_APPROVED)],
},
# https://github.com/mozilla/addons/issues/15141
'delete_erroneously_added_overgrowth_needshumanreview': {
'task': delete_erroneously_added_overgrowth_needshumanreview,
'queryset_filters': [
Q(
versions__needshumanreview__reason=(
NeedsHumanReview.REASONS.HOTNESS_THRESHOLD
),
versions__needshumanreview__created__range=(
ERRONEOUSLY_ADDED_OVERGROWTH_DATE_RANGE
),
versions__needshumanreview__is_active=True,
)
],
},
}