MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

APScheduler esegue la funzione asincrona in Tornado Python

Per impostazione predefinita, TornadoScheduler esegue attività pianificate in un pool di thread. La tua attività specifica, tuttavia, utilizza IOLoop e quindi prevede di essere eseguita nello stesso thread. Per risolvere questo problema, puoi utilizzare il metodo add_callback() del tornado IOLoop per pianificare un'attività da eseguire nel thread di IOLoop il prima possibile.

Così:

def your_scheduled_task():
    IOLoop.instance().add_callback(your_real_task_function)

o meglio ancora:

scheduler.add_job(IOLoop.instance().add_callback, 'interval', minutes=1, args=[GetWeather])