ReceiveTimeoutにパラメータを渡すことは可能ですか?私は次のコードを持っています:Scala Actor:ReceiveTimeout with Param
case ReceiveTimeout =>
self ! BuildJobEvents(asperaClient.getWorkOrder(workOrderID), dateTime)
私はパラメータを渡そうとしましたが、それは無効です。私はdocumentation hereを見て、パラメータの使用については何も見ていませんでした。 ReceiveTimeoutにパラメータを渡すことは可能ですか?そうでない場合、どうすればこの問題を回避できますか?
編集
私はテーブルにイベントをログに記録する俳優のシステムを持っています。各イベントには、発生時に注目するタイムスタンプがあります。私はチェーンに沿ってこのタイムスタンプを渡す必要があるので、データ(updated_atタイムスタンプを持つ)が実際に変更されたかどうかを判断するために使用することができます。
例:私はAPIサービスを呼び出すと 、私はこのようなイベントを取得すると言う:
Item {
event1 {
stated: 5:00pm,
completed: 5:10pm
},
event1 {
stated: 5:10pm
}
data: data
updated_at: 5:11pm
}
私はここにEVENT1とイベント2を記録したいです。私も、メッセージ中の5時11分午後のdateTime値を渡したいので、私たちは、次の呼び出しのためにそれを使用することができます。タイムスタンプがあるので、この場合は
Item {
event1 {
stated: 5:00pm,
completed: 5:10pm
},
event1 {
stated: 5:10pm,
completed: 5:12pm
}
data: data
updated_at: 5:12pm
}
、私は、EVENT1をログに記録しません5:11の前に、俳優はすでにそれを記録しています。私は再びイベント2をログに記録します。
あなたのユースケースについて説明できますか?私はここでXYの問題を感じています –
なぜ 'context.system.scheduleOnce(...)'あなたが実際に望むメッセージですか?あなたが以前に何か他のものを受け取ったら、あなたは 'scheduleOnce'から得た' Cancellable'を単に 'キャンセル'することができます。 – ale64bit
私はscheduleOnceがメッセージを1回だけ送ると思っていました。「遅く、つまりメッセージが送信されるまでに経過しなければならない時間を使ってメッセージを1回送るようにスケジュールします。これを複数回実行する必要があります –