我試圖使用django_rq排隊作業和在後臺處理它們與工作人員,但簡單的調用python庫redis中排列基本工作拋出一個:Python RQ AttributeError:'字典'對象沒有屬性'__module__'
AttributeError: 'dict' object has no attribute '__module__'
if not isinstance(f, string_types) and f.__module__ == '__main__':
raise ValueError('Functions from the __main__ module cannot be processed '
'by workers.')
我傳遞一個函數作爲f
,所以我不明白怎麼會拋出一個在dict
上發生錯誤。任何想法出現什麼問題?
堆棧跟蹤:
File "/Users/admin/dev/feedme-web/feedme/api/views.py", line 133, in post
parameter_dict = {
File "/Users/admin/dev/feedme-web/feedme-env/lib/python2.7/site-packages/django_rq/queues.py", line 162, in enqueue
return get_queue().enqueue(func, *args, **kwargs)
File "/Users/admin/dev/feedme-web/feedme-env/lib/python2.7/site-packages/rq/queue.py", line 159, in enqueue
if not isinstance(f, string_types) and f.__module__ == '__main__':
功能正在排隊:
def create_order_ordrin(user, card_primary_key, address_primary_key):
parameter_dict = {
"""... pararmeters for call here ..."""
}
ordrin = initialize_ordrin()
return ordrin.order_user(**parameter_dict)
*
音符值用戶,card_primary_key和address_primary_key沒有被尚未使用
你確定你沒有意外**調用**函數並傳遞函數返回的字典嗎? –
@MartijnPieters你是對的,這就是發生了什麼。但是我怎樣才能使用適當的參數排隊函數而無需調用它? – agconti