diff --git a/server/app/com/xsn/explorer/tasks/SQSSeederTask.scala b/server/app/com/xsn/explorer/tasks/SQSSeederTask.scala index 07233f9..53b7b2b 100644 --- a/server/app/com/xsn/explorer/tasks/SQSSeederTask.scala +++ b/server/app/com/xsn/explorer/tasks/SQSSeederTask.scala @@ -22,7 +22,8 @@ import scala.util.{Failure, Success} class SQSSeederTask @Inject() ( config: SeederConfig, blockEventsProcessor: BlockEventsProcessor, - firstBlockSynchronizerTask: FirstBlockSynchronizerTask)( + firstBlockSynchronizerTask: FirstBlockSynchronizerTask, + backwardsSynchronizerTask: BackwardsSynchronizerTask)( implicit sqs: AmazonSQSAsync, materializer: Materializer) { @@ -86,16 +87,20 @@ class SQSSeederTask @Inject() ( } private def onBlockResult(eventResult: BlockEventsProcessor.Result) = eventResult match { - case BlockEventsProcessor.FirstBlockCreated(block) => + case BlockEventsProcessor.FirstBlockCreated(_) => firstBlockSynchronizerTask.sync() - case BlockEventsProcessor.NewBlockAppended(block) => + case BlockEventsProcessor.NewBlockAppended(_) => firstBlockSynchronizerTask.sync() - case BlockEventsProcessor.RechainDone(orphanBlock, newBlock) => + case BlockEventsProcessor.RechainDone(_, newBlock) => firstBlockSynchronizerTask.sync() + backwardsSynchronizerTask.sync(newBlock) - case BlockEventsProcessor.MissingBlockProcessed(block) => () - case BlockEventsProcessor.ExistingBlockIgnored(block) => () + case BlockEventsProcessor.MissingBlockProcessed(block) => + backwardsSynchronizerTask.sync(block) + + case BlockEventsProcessor.ExistingBlockIgnored(block) => + backwardsSynchronizerTask.sync(block) } }