mongodb-labs / full-stack-fastapi-mongodb

Full stack, modern web application generator. Using FastAPI, MongoDB as database, Docker, automatic HTTPS and more.
MIT License
510 stars 86 forks source link

Issue starting Celery in generated APP #50

Closed scattered-development closed 2 months ago

scattered-development commented 4 months ago

Hi

There seems to be an Issue starting Celery in generated APP . I have been unable to resolve. Seems to be related to change in URL handling between pydantic 1 and 2 (https://github.com/pydantic/pydantic/discussions/6395) , where in v1 the base class is string. The logs are below.

2024-07-17 18:47:08 Checking dependencies
2024-07-17 18:47:09 Syncing dependencies
2024-07-17 18:48:52 INFO:__main__:Initializing service
2024-07-17 18:48:52 INFO:__main__:Starting call to '__main__.init', this is the 1st time calling it.
2024-07-17 18:48:54 INFO:__main__:Service finished initializing
2024-07-17 18:48:55 Checking dependencies
2024-07-17 18:49:15 Usage: celery [OPTIONS] COMMAND [ARGS]...
2024-07-17 18:49:15 Try 'celery --help' for help.
2024-07-17 18:49:15 
2024-07-17 18:49:15 Error: Invalid value for '-A' / '--app': 
2024-07-17 18:49:15 Unable to load celery application.
2024-07-17 18:49:15 'pydantic_core._pydantic_core.url' object has no attribute 'strip'

as mentioned in readme docs testing might not be working - there is 0% coverage of the celery worker & testing of backend is failing in user token. Full stack is not running as celery worker has exited

================================================================= short test summary info ================================================================== ERROR app/tests/api/api_v1/test_login.py::test_use_access_token - ValueError: Token mismatch between key and user. ERROR app/tests/api/api_v1/test_users.py::test_get_users_normal_user_me ========================================================= 14 passed, 4 warnings, 2 errors in 5.99s =========================================================

scattered-development commented 3 months ago

Looking deeper and adding further logs it seems to be caused by Sentry. I see that Raven is in use, which is now deprecated in favour of sentry_sdk. I have made this update and celery worker is now up and running.

I can create a PR for this and make the change, if wanted?

Jibola commented 3 months ago

@scattered-development hey, thank you for finding this and absolutely make a PR.

Jibola commented 2 months ago

PR Merged!