## 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
import os
import time
import statsd
from celery import Celery
from celery.schedules import crontab
from django.conf import settings
from django.db import connection
from django.utils import timezone
from posthog.ee import check_ee_enabled
from posthog.redis import get_client
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "posthog.settings")
app = Celery("posthog")
app.config_from_object("django.conf:settings", namespace="CELERY")
app.autodiscover_tasks()
app.conf.broker_pool_limit = 0
ACTION_EVENT_MAPPING_INTERVAL_MINUTES = 10
statsd.Connection.set_defaults(host=settings.STATSD_HOST, port=settings.STATSD_PORT)
@app.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):