Ich muss auf den aktuellen Celluloid-Schauspieler innerhalb meiner Sidekiq Arbeiter zugreifen, aber ich sehe keinen Weg, das zu tun.Sidekiq aktuelle Celluloid Actor
Immer wenn ich versuche zu nennen:
Celluloid::Actor.current
Ich erhalte eine Fehlermeldung: not in actor scope
Ich habe versucht, um zu bekommen, die aktuellen Schauspieler zu finden, durch einen neuen mit jedes Mal zu schaffen:
Celluloid::Actor.new(SecureRandom.hex)
Aber aus irgendeinem Grund gab es mir einen Fehler von attempted to call dead actor
.
Was sollte ich anders machen, um den aktuellen Schauspieler in einem Sidekiq-Arbeiter zu bekommen?
Background Info ich zu einem websocket in meinem Arbeiter anschließe und Nachrichten an sie zu senden.
Celluloid::WebSocket::Client.new('ws://my-uri', Celluloid::Actor.current)
Warum wollen Sie das tun müssen? –
Gute Frage, ich dachte nicht, dass es relevant für die Frage war. Aber ich verbinde mich mit einem Websocket in meinem Arbeiter und sende Nachrichten an ihn. '@websocket_client || = Zelluloid :: WebSocket :: Client.new ('ws: // mein-uri', Celluloid :: Actor.current)' – ardavis
Sind Sie sicher, dass Sie Arbeiter benutzen wollen? Vielleicht brauchst du nur einen einfachen Daemon? –