Raises an error when errors occur during stat collection instead of catching the errors and just ignoring those stats. This should make the stats more consistent and avoid the issue where one stat was collected while others are still their old data. This should also help notify us about issues gathering stats.
Creates a maintenance_stats_refreshed_at column to track when we last attempted to do a refresh. This should help us avoid querying for the same repositories over and over if we cannot get stats for them. This still needs a follow up PR to use that column for queuing work. I will also likely need to manually run the database migration which is why it has if_not_exists: true on the add_column and add_index commands.
One off rake task to get the dates set for repositories that have existing stats. I will need to run this manually for the 120k repositories that have stats now.
This PR does a few things:
Raises an error when errors occur during stat collection instead of catching the errors and just ignoring those stats. This should make the stats more consistent and avoid the issue where one stat was collected while others are still their old data. This should also help notify us about issues gathering stats.
Creates a
maintenance_stats_refreshed_at
column to track when we last attempted to do a refresh. This should help us avoid querying for the same repositories over and over if we cannot get stats for them. This still needs a follow up PR to use that column for queuing work. I will also likely need to manually run the database migration which is why it hasif_not_exists: true
on the add_column and add_index commands.One off rake task to get the dates set for repositories that have existing stats. I will need to run this manually for the 120k repositories that have stats now.