Объект модели не сохраняется в задаче celery
пытаюсь создать объект Alarm в задаче celery. но после вызова метода задачи объекты, созданные в задаче celery, не сохраняются.
from celery import shared_task
from alarms.models import Alarm
from games.models import Participation
@shared_task
def create_alarms(game_id):
participations = Participation.objects.filter(game=game_id)
for participation in participations:
alarm, created = Alarm.objects.get_or_create(
game=participation.game,
user=participation.user,
valid_until=participation.game.start_datetime
)
if not created:
alarm.set_unsent()
project/games/tasks.py
from django.dispatch import receiver
from django.db.models.signals import post_save, post_delete
from .models import Participation, Game
from .tasks import create_alarms, delete_alarm
@receiver(post_save, sender=Participation)
def _post_save_receiver(sender, instance, created, **kwargs):
if created:
game = instance.game
game.increase_player()
if game.is_fulfilled():
create_alarms.delay(game.id)
project/games/signals.py - метод приемника вызывает метод задачи
from __future__ import absolute_import unicode_literals
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings.dev')
app = Celery('project',
broker='amqp://miti:miti@localhost/',
include=['games.tasks'])
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
project/project/celery.py
[2022-10-27 16:12:11,543: INFO/MainProcess] Task games.tasks.create_alarms[b8782685-3fd3-4a39-8d58-8fdb9df1871e] received
журналcelery сообщает, что задание получено работником celery worker
помогите мне
я хочу сохранить созданный объект в задаче celery в django db (в настоящее время используется mysql)