discourse/app/jobs/scheduled
Ted Johansson a72dc2f420
DEV: Introduce a problem checks API (#25783)
Previously, problem checks were all added as either class methods or blocks in AdminDashboardData. Another set of class methods were used to add and run problem checks.

As of this PR, problem checks are promoted to first-class citizens. Each problem check receives their own class. This class of course contains the implementation for running the check, but also configuration items like retry strategies (for scheduled checks.)

In addition, the parent class ProblemCheck also serves as a registry for checks. For example we can get a list of all existing check classes through ProblemCheck.checks, or just the ones running on a schedule through ProblemCheck.scheduled.

After this refactor, the task of adding a new check is significantly simplified. You add a class that inherits ProblemCheck, you implement it, add a test, and you're good to go.
2024-02-23 11:20:32 +08:00
..
about_stats.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
activation_reminder_emails.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
admin_problems.rb FEATURE: Add new notification for admin problems (#21287) 2023-05-03 19:35:22 +03:00
auto_queue_handler.rb UX/DEV: Review queue redesign fixes (#20239) 2023-03-02 16:40:53 +01:00
backfill_dominant_colors.rb PERF: Move dominant color calculation to separate job (#18501) 2022-10-06 13:26:08 +01:00
badge_grant.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
bookmark_reminder_notifications.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
category_stats.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
check_new_features.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
check_out_of_date_themes.rb FIX: Continue if checking themes if updating one fails (#19665) 2023-01-09 11:56:43 -06:00
check_translation_overrides.rb FIX: Don't show admin warnings about deleted translation overrides (#22614) 2023-07-14 16:52:39 +08:00
clean_dismissed_topic_users.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_api_keys_max_life.rb FEATURE: site settings to revoke api keys older than a number of days (#23595) 2023-09-15 16:31:29 -03:00
clean_up_associated_accounts.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_associated_groups.rb FEATURE: Experimental support for group membership via google auth (#14835) 2021-12-09 12:30:27 +00:00
clean_up_crawler_stats.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_email_change_requests.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_email_logs.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_email_tokens.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_exports.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
clean_up_inactive_users.rb FIX: consider users.created_at for inactive cleanup (#21688) 2023-05-23 13:41:23 +05:30
clean_up_post_reply_keys.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_search_logs.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
clean_up_stylesheet_cache.rb PERF: Add scheduled job to delete old stylesheet cache rows (#13747) 2021-07-16 10:58:01 -04:00
clean_up_tags.rb FIX: log for CleanUpTags job (#23964) 2023-10-18 03:24:14 +00:00
clean_up_unmatched_emails.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_unmatched_ips.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_unsubscribe_keys.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_unused_api_keys.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_unused_staged_users.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_unused_user_api_keys.rb FEATURE: site settings to revoke api keys older than a number of days (#23595) 2023-09-15 16:31:29 -03:00
clean_up_uploads.rb DEV: update syntax tree to latest (#24623) 2023-11-29 16:38:07 +11:00
clean_up_user_api_keys_max_life.rb FEATURE: site settings to revoke api keys older than a number of days (#23595) 2023-09-15 16:31:29 -03:00
cleanup_imap_sync_log.rb DEV: IMAP log to database (#10435) 2020-08-14 12:01:31 +10:00
create_missing_avatars.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
create_recent_post_search_indexes.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
destroy_old_deletion_stubs.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
destroy_old_hidden_posts.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
directory_refresh_daily.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
directory_refresh_older.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
disable_bootstrap_mode.rb FEATURE: Move bootstrap mode indicator to header (#20663) 2023-03-24 15:59:03 +02:00
drop_backup_schema.rb FEATURE: Drop "backup" schema 7 days after restore 2020-01-16 17:48:47 +01:00
enqueue_digest_emails.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
enqueue_onceoffs.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
enqueue_suspect_users.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
ensure_db_consistency.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
ensure_s3_uploads_existence.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
fix_user_usernames_and_groups_names_clash.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
grant_anniversary_badges.rb DEV: extract anniversary badge query (#19716) 2023-01-16 11:55:00 +01:00
grant_new_user_of_the_month_badges.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
heartbeat.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
ignored_users_summary.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
invalidate_inactive_admins.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
migrate_upload_scheme.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
old_keys_reminder.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
pending_queued_posts_reminder.rb DEV: Enable unless cops 2023-02-21 10:30:48 +01:00
pending_reviewables_reminder.rb FIX: rename notify_about_flags_after to notify_about_reviewable_item_after (#21320) 2023-05-02 08:08:22 +10:00
pending_users_reminder.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
periodical_updates.rb DEV: Fix Lint/ShadowedArgument (#24733) 2023-12-06 13:16:10 +01:00
poll_mailbox.rb DEV: Fix various rubocop lints (#24749) 2023-12-06 23:25:00 +01:00
presence_channel_auto_leave.rb DEV: Introduce PresenceChannel API for core and plugin use 2021-08-27 16:26:06 +01:00
problem_checks.rb DEV: Introduce a problem checks API (#25783) 2024-02-23 11:20:32 +08:00
process_badge_backlog.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
process_shelved_notifications.rb DEV: Replace 'processed' column on notifications with new table (#11864) 2021-01-27 10:29:24 -06:00
process_user_notification_schedules.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
purge_deleted_uploads.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
purge_expired_ignored_users.rb DEV: Cleanup ignored user logic (#11107) 2020-11-03 12:38:54 +00:00
purge_old_web_hook_events.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
purge_unactivated.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
regenerate_sitemaps.rb FEATURE: Let sites add a sitemap.xml file. (#16357) 2022-04-12 10:33:59 -03:00
reindex_search.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
reviewable_priorities.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
schedule_backup.rb FIX: refactor calling of timed backup deletion 2024-01-08 15:41:00 -05:00
tl3_promotions.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
top_refresh_older.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
top_refresh_today.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
topic_timer_enqueuer.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
unsilence_users.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
update_animated_uploads.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
update_heat_settings.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
update_topic_hot_scores.rb FEATURE: experiment with hot sort order (#25274) 2024-01-17 13:01:04 +11:00
version_check.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
weekly.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00