Delayed_job: wie handle_asynchronously arbeiten mit einer Funktion?
Die Funktion ist:
def createuser(name,pass,time)
puts name,pass,time
end
Ich versuche:
handle_asynchronously :createuser("a","b","c")
und bekam ein error:syntax error, unexpected '(', expecting keyword_end
danke.
===EDIT===
Benutzer-Datenbank in japen und web-server in Peking. also ich nutze diesen Weg, um Benutzer anzulegen.
def createuser(name,pass,time)
Net::HTTP.get(URI.parse("http://www.example.net/builduser.php?hao=#{name}&mi=#{pass}&da=#{time}"))
end
Vielen Dank für den edit. Können Sie nun den aufrufenden Teil. Wo nennst du handle_asynchronously? Kurz nach der Erklärung? Irgendwo anders?
Hi. Ich bin mit Unixmonkey Weg.es ist woring jetzt gut. Danke.
Hi. Ich bin mit Unixmonkey Weg.es ist woring jetzt gut. Danke.
InformationsquelleAutor jean | 2011-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht, um Parameter in der handle_asynchronously Methode, es ist nur eine Art zu sagen, Ihre Methode sollte immer übergeben werden, in delayed_job.
Also in deinem Beispiel:
genau das tut, was Sie es benötigen.
Wenn Sie anrufen,
ist das gleiche wie der Aufruf
Ich nur setup eine test-app tut genau dies, um zu prüfen die Antwort, und hier ist die delayed_job serialisiert performable handler:
InformationsquelleAutor Unixmonkey
Warum wollen Sie zum übergeben von Parametern an die Methode? Denn das problem ist * ich glaube *, dass Sie sollen diese Art der Nutzung:
Oder
etc. (also ohne übergabe von Parametern an die Methode, die Sie als parameter übergeben zu
handle_asynchronously
).BEARBEITEN
Einer verzögerten job ist eine lange laufende Aufgabe, die Sie tun möchten, asynchron. handle_asynchronously genannt wird, eine Zeit, kurz nach der Deklaration der Methode, also die übergabe von Parametern ist nutzlos, weil der code innerhalb der Methode ist die Freigabe des Umfangs als auch!
createuser("a","b","c")
.wenn ich handle_asynchronously ich kann nicht Parameter zu erstellen.Ja, ich denke, Sie können nicht, dass ist das problem. Ich durchsucht haben viele Beispiele für die Verwendung von handle_asynchronously und keiner von Ihnen waren die übergabe von Parametern an die Methode. Die Frage ist, wo werden Sie die Definition dieser Methode, warum müssen Sie geben diese Parameter? Was ist das Ziel, es zu tun, wenn mit einer verzögerten job?
Siehe mein edit. Ich bin neugierig auf diese mir, vielleicht können wir es tun, was Sie Fragen, sondern auf ein design-Standpunkt, warum wollen Sie EINEM Benutzer asynchron?
Ja.ich möchte EINEM Benutzer asynchron
Es ist auch nicht eine Frage der Anzahl der Benutzer, sondern der Weitergabe von 'Konstante' Parameter Ihrer Methode. Wenn es auch Konstanten verwenden, die Sie direkt in Ihrer Methode, ohne diese übergeben. Die handle_asynchronously Methode wird aufgerufen, ein mal nach der definition der Methode. Können Sie mir zeigen, was Sie versuchen zu erreichen? Und nehmen Sie es einfach 🙂
InformationsquelleAutor Amokrane Chentir