Fix release from #1860 (hotfix #1934).

- Cron job to send weekly email report is processed multiple times. Review scheduling process to send to only one worker.
- Implement mechanism to ensure each email is sent only once to each recipient.
- Improve the way the async task is processed by creating a separate task for each organization, instead of processing all organizations in a single task.
posthog/settings.py
try:
        return os.environ[key]
    except KeyError:
        raise ImproperlyConfigured(f'The environment var "{key}" is absolutely required to run this software')
def get_list(text: str) -> List[str]:
    if not text:
        return []
    return [item.strip() for item in text.split(",")]
def get_bool_from_env(name: str, default_value: bool) -> bool:
    if name in os.environ:
        value = os.environ[name]
        try:
            return bool(strtobool(str(value)))
        except ValueError as e:
            raise ValueError(f"{value} is an invalid value for {name}, expected boolean") from e
    return default_value
def print_warning(warning_lines: Sequence[str]):
    highlight_length = min(max(map(len, warning_lines)) // 2, shutil.get_terminal_size().columns)
    print("\n".join(("", "🔻" * highlight_length, *warning_lines, "🔺" * highlight_length, "",)))
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = get_bool_from_env("DEBUG", False)
TEST = "test" in sys.argv  # type: bool
SELF_CAPTURE = get_bool_from_env("SELF_CAPTURE", DEBUG)
SITE_URL = os.getenv("SITE_URL", "http://localhost:8000").rstrip("/")
if DEBUG: