From 5759cde74de2307ccfa0274b141e4d3a3b6dd949 Mon Sep 17 00:00:00 2001 From: Luthfi Arifin Date: Fri, 27 Sep 2024 01:20:41 +0700 Subject: [PATCH] refactor: Update Dockerfile.development to run app with uvicorn and watch.py --- Dockerfile.development | 2 +- app/events/watch.py | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Dockerfile.development b/Dockerfile.development index 0f29d95..cb659f3 100644 --- a/Dockerfile.development +++ b/Dockerfile.development @@ -21,4 +21,4 @@ COPY ./app ./app # Install FastAPI separately to leverage Docker cache RUN pip install "fastapi[standard]" -CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080", "--reload"] \ No newline at end of file +CMD ["sh", "-c", "python app/events/watch.py & uvicorn main:app --host 0.0.0.0 --port 8080 --reload"] \ No newline at end of file diff --git a/app/events/watch.py b/app/events/watch.py index 5cb1c17..996cbe8 100644 --- a/app/events/watch.py +++ b/app/events/watch.py @@ -2,15 +2,15 @@ from crud import insert_event_vector, update_event_vector, eventCollections - -change_stream = eventCollections.watch() -for change in change_stream: - if change["operationType"] == "insert": - insert_event_vector(change["fullDocument"]) - elif change["operationType"] == "update": - print(change["documentKey"]["_id"]) - update_event_vector( - change["documentKey"]["_id"], - change["updateDescription"]["updatedFields"], - ) - print(dumps(change)) +if __name__ == "__main__": + change_stream = eventCollections.watch() + for change in change_stream: + if change["operationType"] == "insert": + insert_event_vector(change["fullDocument"]) + elif change["operationType"] == "update": + print(change["documentKey"]["_id"]) + update_event_vector( + change["documentKey"]["_id"], + change["updateDescription"]["updatedFields"], + ) + print(dumps(change))