/ / Datei an Gearman Worker senden - PHP, Gearman

Datei an Gearman Worker senden - PHP, Gearman

Ich trenne gerade unsere VideokonvertierungTeil der Webseite (in gewisser Weise wie youtube, bei der Benutzer Videos hochladen und wir sie in flv / mp4 konvertieren), auf einen anderen Server. Ich habe das System bereits mit Gearman auf der gleichen Maschine. Wenn also ein Benutzer eine Videodatei auf Server A hochlädt, wird er von einem Gearman-Mitarbeiter auf demselben Server A ausgewählt.

Jetzt habe ich den Worker auf Server B verschoben. Der Arbeiter auf Server B muss also auf die hochgeladene Datei auf Server A zugreifen. Derzeit verwende ich SCP, um die Datei von A nach B zu kopieren und anschließend zu verarbeiten. Diese Methode funktioniert, aber ich denke, es sollte eine sauberere Methode geben, aber ich habe keine Informationen zum Senden von Dateien (oder großen Dateien) an Gearman-Mitarbeiter gefunden.

Vorzugsweise würde der Client die Videodatei sendenAls Teil des Befehls zum Starten eines Hintergrundjobs muss ich mir also keine Sorgen machen, wo die Datei tatsächlich vom Worker stammt. Auf diese Weise kann ich ohne großen Aufwand weitere Konvertierungsserver hinzufügen.

Ich verwende PHP (mit Gearman Erweiterung) sowohl für meine Webseite als auch für den Arbeiter.

Antworten:

5 für die Antwort № 1

Wie in den Kommentaren angedeutet, ein gemeinsames habenFS ist der (übliche) Weg, dies zu implementieren, und den Pfad in der Jobanforderung des Gearman einfach herumzuleiten. Gearman eignet sich nicht für die Weitergabe großer Datenblöcke, da alle Informationen für einen Job im Speicher verbleiben müssen. Es wurde nie für die Übertragung und Verteilung großer Dateien entwickelt. Da MogileFS ursprünglich auch bei Danga entwickelt wurde, war es einfach nicht nötig, Dateiübertragung und -handling in Gearman einzubauen (und das "eine gute Sache", es gibt eine Reihe von Technologien, die dieses Problem besser lösen, als dies bei Gearman möglich wäre).

Wir verwenden NFS für den Umgang mit verteilten MitarbeiternWenn Videos eintreffen und der Encoder das codierte Video auf die NFS-Freigabe zurücksetzt, steht es der Öffentlichkeit zur Verfügung, wenn es fertig ist. Hatte noch kein ernstes Problem, NFS ist stabil und die Probleme sind bekannt und für die Art der Lasten, die Sie sehen werden, bereits gelöst.