From cd6c5bf3431ff5e3e8e90abd6597232bf1c01369 Mon Sep 17 00:00:00 2001 From: Parsa Nazer Date: Tue, 23 Sep 2025 10:15:12 +0330 Subject: [PATCH] update product pudate prices --- backend/core/settings/production.py | 2 +- backend/product/tasks.py | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/backend/core/settings/production.py b/backend/core/settings/production.py index 700499f..1dafed5 100644 --- a/backend/core/settings/production.py +++ b/backend/core/settings/production.py @@ -62,7 +62,7 @@ from celery.schedules import crontab CELERY_BEAT_SCHEDULE = { 'update-prices-every-minute': { - 'task': 'product.tasks.update_product_prices', + 'task': 'product.tasks.update_prices', 'schedule': crontab(minute='*'), }, 'update-bank-record-every-minute': { diff --git a/backend/product/tasks.py b/backend/product/tasks.py index 4bba6c6..1983960 100644 --- a/backend/product/tasks.py +++ b/backend/product/tasks.py @@ -1,8 +1,16 @@ from celery import shared_task -from product.models import ProductVariant +from order.models import OrderItemModel, OrderModel +from product.models import DollorModel, ProductVariant @shared_task -def update_product_prices(): - print("\033[92m Calling update product prices from Celery\033[00m") - ProductVariant.update_all_prices() - print("\033[92m its working\033[00m") +def update_prices(): + # update dollor + dollor_object, _ = DollorModel.objects.get_or_create(unique_filed='unique') + dollor_object.update_price() + dollor_object.save() + dollor_price = dollor_object.price + + products = list(ProductVariant.objects.all()) + for product in products: + product.set_or_update_price(dollor_price=dollor_price) + ProductVariant.objects.bulk_update(products, ['price'], batch_size=1000) \ No newline at end of file