PythonのGoogle App Engineでこれをやろうとしています:
def add_to_db(person):
a = PersonDb(key_name = person)
# get some data
data1 = a.name
data2 = a.age
a.put()
for person in people:
deferred.defer(add_to_db, person, _queue="myque")
cron ジョブを介して上記のコードを実行すると、機能しません。ファイルはエラーなしで実行され、タスク (リスト 'People' には 200 個の文字列があります) がキューに正しく追加され、正しくトリクルスルーされます。しかし、データベース PersonDb は更新されません。これが機能するため、関数が機能することを知っています(上記は簡略化されています)。
for person in people:
add_to_db(person)
上記の 2 行のコードは機能し、データベースは更新されますが、これを遅延タスクとして実行する必要があります。助言がありますか?
更新: ログでこれを取得しています: ファイル "C:\Program Files\Google\google_appengine\google\appengine\ext\deferred\deferred.py", line 129, in run raise PermanentTaskFailure(e) PermanentTaskFailure: 'module'オブジェクトには属性「add_to_db」がありません