Ich muss auf den aktuellen Celluloid-Schauspieler in meinem Sidekiq-Arbeiter zugreifen, aber ich sehe keinen Weg, das zu tun.
Immer wenn ich versuche anzurufen:
%Vor% Ich erhalte einen Fehler: not in actor scope
Ich habe versucht, den aktuellen Akteur zu finden, indem ich jedes Mal ein neues erstelle:
%Vor% Aber aus irgendeinem Grund gab es mir einen Fehler von attempted to call dead actor
.
Was sollte ich anders machen, um den aktuellen Akteur in einen Sidekiq-Mitarbeiter zu bringen?
Hintergrundinformationen Ich verbinde mich mit einem Websocket in meinem Arbeiter und sende Nachrichten an ihn.
Celluloid::WebSocket::Client.new('ws://my-uri', Celluloid::Actor.current)
Ich schätze, Sie sollten eine separate Klasse definieren, die Celluloid enthält. Hier ein Beispiel, das auf einer solchen von Sidekiq Repo
%Vor%Funktioniert wie ein Zauber, gerade fertig damit zu spielen. Erhalte das vollständige aktualisierte Beispiel , installiere die benötigten Edelsteine und starte dann sowohl Sinatra als auch Sidekiq
%Vor%, dann blättern Sie zu http://localhost:4567