🤖 Refactor Celery Initialization and Database Setup Checks #1591
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
👋 Hi there! This PR was automatically generated by Autofix 🤖
This fix was triggered by Rohan Agarwal
Fixes SEER-9P
This pull request includes significant changes to how the Celery application and database initialization are handled. In
src/celery_app/app.py
, the Celery initialization now connects the configuration setup to the worker's startup event instead of the on_configure event. A utility function_is_celery_worker()
has been added to check if the current process is a Celery worker, ensuring that thebootup()
function and periodic task setup only execute in a Celery context.In
src/seer/db.py
, additional functionsis_db_initialized()
andmark_db_initialized()
are introduced for checking and marking the database initialization state in the Flask application context. Theinitialize_database()
function now checks if the database has already been initialized before proceeding, thereby preventing redundant setups and ensuring better state management within the application.If you have any questions or feedback for the Sentry team about this fix, please email [email protected] with the Run ID: 1990.