Kolben-multi-Prozess-worker-pool in Python

Bin ich ziemlich verwirrt auf dem besten Weg, das zu tun, was ich zu tun versuche.

Habe ich eine Reihe von jobs, die eine Menge Zeit zu verarbeiten, und so möchte ich zum initialisieren einer erheblichen pool der "Arbeiter" auf die app-start-up, das in der Lage sein zu handhaben, eine Anfrage bei der freien.

Aufteilung des Prozesses:

  • Erstellen 10 Klassifikatoren (Arbeitnehmer) auf die app-start-up, und halten Sie Sie im Leerlauf irgendwo.
  • Wenn app gestartet, die Anfrage kommt durch Kolben POST-Befehl.
  • Anfrage wird an eine verfügbare Klassifikator.
  • Classifier Ergebnis der Arbeit.

Wie würde ich gehen über das tun dies?

EDIT: Es ist erwähnenswert, dass die Klassifikatoren nehmen eine erhebliche Menge an Zeit zu starten und so müssen verfügbar sein und die bereits ausgeführt werden, wenn die Arbeit es Ihnen übergeben wurde.

class View(views.MethodView):
    def get(self):
        return render_template('index.html')

    def post(self):
        app_form_elements = request.form

    #Assumption button clicked on browser interface...

            jobs = ["job one", "job two", "job three"]

            for job in jobs: 
        #Send each job to next available classifier pool.



        return self.get()



app.add_url_rule('/', view_func=View.as_view('main'), methods=['GET','POST'])

app.debug = True

if __name__ == '__main__':
    app.run(threaded=True)

EDIT:

Den Klassifizierer setup ist so etwas wie dieses:

class Classifier():
    """
    Class will take in a classifier and a test data set and print out the overall accuracy.
    """
    def __init__(self):

        self.load = self.toSomeStuff()

        print('classifier initialised.\n')


    def doSomeWork(self):
    #Initialised classifier objects called with work to do.



initialise_classifier = Classifier()

#the jobs 
initialise_classifier.doSomeWork()

Also im Prinzip brauche ich einen pool von pre-initialized-Klassifikatoren und dann in der Lage sein, um den Anruf "doSomeWork" - Funktion, mit jeden job, der kommt über die post-Methode.

  • Würde es nicht mehr Sinn machen, die diese lange Dauer der Prozesse in eine Warteschlange, mit so etwas wie Sellerie?
InformationsquelleAutor Mark | 2013-12-05
Schreibe einen Kommentar