2016-02-12 2 views
0

У меня есть периодический сельдерей задача, не создавая свою модельДжанго модели не создается в сельдерее задаче

@periodic_task(run_every=timedelta(seconds=1)) 
def store_products(): 
    products = get_products() 
    for product in products: 
     Product.objects.create(
      name=product['name'], 
      description=product['body_html'], 
      vendor=product['vendor'], 
      rank=product['rank'], 
      source=product['source'], 
      price=product['variants'][0]['price'], 
      product_id=product['id'], 
     ) 

Моим вопрос: что я могу делать неправильно

+0

Вы уверены, что ваши работники сельдевого сельского хозяйства указали одну и ту же базу данных? Как вы знаете, что эти объекты не создаются? Вы получаете сообщение об ошибке? – csinchok

+0

Я проверил администратора django, а также запросил у меня db. – acquayefrank

+0

Я думаю, что это проблема, связанная с транзакцией. Моя борьба заключается в том, как ее разрешить – acquayefrank

ответ

0

Благодаря низкой репутации я не могу комментировать , Но это может помочь - Поскольку это периодическая задача «transaction.atomic» или имеющая «ISOLATION_LEVEL_SERIALIZABLE», создаст проблему, только если вы создаете объекты в нескольких дочерних процессах через сельдерей.

Не так много можно сделать вывод из информации, представленной, но проблемы, кажется, в

products = get_products() 

если вы извлечение некоторых данных из моделей без использования первичных ключей в нем, это создаст проблемы.