## Bug description

Some instances sent instance status report thousands of times. I bet it's because of Celery retrying or something, as some of the queries are using COUNT(*) and can be very slow. We should use estimated row sizes instead probably.

## Expected behavior

Only sent 1 instance report per team

## How to reproduce

1. 
2. 
3. 

## Environment

- PostHog cloud or self-managed?
- PostHog version/commit

## Additional context



#### *Thank you* for your bug report – we love squashing them!

posthog/celery.py
from posthog.tasks.session_recording_retention import session_recording_retention_scheduler
    session_recording_retention_scheduler()
@app.task(ignore_result=True)
def calculate_event_action_mappings():
    from posthog.tasks.calculate_action import calculate_actions_from_last_calculation
    calculate_actions_from_last_calculation()
@app.task(ignore_result=True)
def calculate_cohort():
    from posthog.tasks.calculate_cohort import calculate_cohorts
    calculate_cohorts()
@app.task(ignore_result=True)
def check_cached_items():
    from posthog.tasks.update_cache import update_cached_items
    update_cached_items()
@app.task(ignore_result=True)
def update_cache_item_task(key: str, cache_type: str, payload: dict) -> None:
    from posthog.tasks.update_cache import update_cache_item
    update_cache_item(key, cache_type, payload)
@app.task(ignore_result=True)
def send_weekly_email_report():
    if settings.EMAIL_REPORTS_ENABLED:
        from posthog.tasks.email import send_weekly_email_reports
        send_weekly_email_reports()
@app.task(ignore_result=True, bind=True)
def debug_task(self):
    print("Request: {0!r}".format(self.request))