2016-03-24 3 views
1

"MRQ is a distributed task queue for python built on top of mongo, redis and gevent." Obwohl es auf der Titelseite der Dokumentation /!\ MRQ is not yet ready for public use. Soon! angibt, sieht es bereits ziemlich raffiniert und ich habe es geschafft, die grundlegenden Funktionen nach der Getting Started Docs zu verwenden.Wiederkehrende Aufgaben mit Python MRQ-Bibliothek

Was ich jedoch noch nicht verstehe, ist, wie ich wiederkehrende Aufgaben planen kann, z. Planen eines Jobs, der alle 5 Minuten ausgeführt wird (ähnlich wie Celery Beat oder rq-scheduler oder APScheduler). Leider ist die Dokumentation is only pointing to the unit tests auf dieses Feature (während es besagt, dass es so etwas wie einen Scheduler gibt), aber ich konnte nicht aus dem Testcode herausfinden, wie es funktioniert.

Gibt es Code-Schnipsel mit Beispielen, oder hat jemand bereits versucht, dies auszuprobieren?

Antwort

1

Um Ihnen den Einstieg,

In einer Konfigurationsdatei wie this einen Zeitplan. Verwenden Sie dann das Intervall, um die Frequenz festzulegen (Sie können auch die Uhrzeit verwenden, noch nicht sicher wie).

Verwenden Sie die Scheduler-API, um aus Daten stammende Aufgaben rückgängig zu machen.

import mrq.scheduler 
from mongodb.mongo_client import MongoCLient 

db = MongoClient('localhost',27017) 
collection = db.mrq.mrq_scheduled_jobs 

task = mrq.scheduler.Schedule(collection) 
task.refresh() ## read mongodb database 
task.check() ## Queues out-of-date tasks 

Ich habe keine klaren Beispiele darüber gesehen, wie man das richtig macht.

Verwandte Themen