Ich verwende Sellerys periodische Funktion, um Stapelupdates meiner Datenbank zu machen. Die einzufügenden Daten werden von einer anderen Funktion desselben Skripts in einer globalen Liste gespeichert. Das Problem ist, dass die Liste immer leer ist, wenn die periodische Funktion ausgeführt wird.Wie man globale Variablen zwischen Selleries periodischer Funktion und einer Python-Funktion teilt
Es folgt der Code-Snippet für das gleiche:
client = MongoClient('localhost:27017')
db = client.module_data
batchData = []
@periodic_task(run_every=(crontab(minute='*/1')), name='Batch_Update')
def batchUpdate():
global batchData
print batchData
if len(batchData)>0:
db.logs.insert_many([_data for _data in batchData])
def writeLog(event='', method='', execution_time=0.0):
global batchData
if event=='' or method=='' or execution_time==0.0:
return
_date = datetime.now()
_data = {'event':event, 'method':method, 'execution_time':execution_time, 'date':_date}
#db.logs.insert(_data)
batchData.append(_data)
print batchData
jemand mir dabei helfen?