MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

APScheduler führt eine asynchrone Funktion in Tornado Python aus

Standardmäßig führt TornadoScheduler geplante Aufgaben in einem Thread-Pool aus. Ihre spezifische Aufgabe verwendet jedoch den IOLoop und erwartet daher, dass sie im selben Thread ausgeführt wird. Um dies zu beheben, können Sie die add_callback()-Methode des Tornado-IOLoop verwenden, um eine Aufgabe zu planen, die so schnell wie möglich im IOLoop-Thread ausgeführt werden soll.

So:

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

oder noch besser:

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