mirror of
				https://github.com/zulip/zulip.git
				synced 2025-10-31 03:53:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import logging
 | |
| from typing import Any
 | |
| 
 | |
| from django.apps import AppConfig
 | |
| from django.conf import settings
 | |
| from django.core.cache import cache
 | |
| from django.db.models.signals import post_migrate
 | |
| from typing_extensions import override
 | |
| 
 | |
| 
 | |
| def flush_cache(sender: AppConfig | None, **kwargs: Any) -> None:
 | |
|     logging.info("Clearing memcached cache after migrations")
 | |
|     cache.clear()
 | |
| 
 | |
| 
 | |
| class ZerverConfig(AppConfig):
 | |
|     name: str = "zerver"
 | |
| 
 | |
|     @override
 | |
|     def ready(self) -> None:
 | |
|         if settings.SENTRY_DSN:  # nocoverage
 | |
|             from zproject.config import get_config
 | |
|             from zproject.sentry import setup_sentry
 | |
| 
 | |
|             setup_sentry(settings.SENTRY_DSN, get_config("machine", "deploy_type", "development"))
 | |
| 
 | |
|         # We import zerver.signals here for the side effect of
 | |
|         # registering the user_logged_in signal receiver.  This import
 | |
|         # needs to be here (rather than e.g. at top-of-file) to avoid
 | |
|         # running that code too early in Django's setup process, but
 | |
|         # in any case, this is an intentionally unused import.
 | |
|         import zerver.signals  # noqa: F401
 | |
| 
 | |
|         if settings.POST_MIGRATION_CACHE_FLUSHING:
 | |
|             post_migrate.connect(flush_cache, sender=self)
 |