Запрос о стойкости и проверке статуса завершения проекцииJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Запрос о стойкости и проверке статуса завершения проекции

Сообщение Anonymous »

Есть ли способ, которым я могу каким-то образом проверить статус проекции для приложения Pekko/Spring Boot, так как я хочу запустить следующее событие только после того, как одна проекция дает статус OK.

Код: Выделить всё

private CommandHandlerWithReplyBuilderByState onEmpty() {
return newCommandHandlerWithReplyBuilder()
.forState(State::isEmpty)
.onCommand(Create.class, (state, cmd) -> {
if(cmd.isInitialAutoStart()) {
List events = new ArrayList();
events.add(new CampaignCreated(cmd.getCampaignId(),
OffsetDateTime.now(ZoneOffset.UTC), cmd.getName(),
cmd.getDomainGroupId(), cmd.getDomainIdWithCount(), cmd.getContactListId(),
cmd.getContactSegmentId(), cmd.getRouteId(),
cmd.getOfferId(), cmd.getVertical(),
cmd.getContactSkipOffset(), cmd.getSendSpeed(),
cmd.getCampaignOptimization(), cmd.getDataTriggers(),
cmd.getDegreeOfParallelism(), cmd.getContactFilter(),
cmd.getMessageTemplate(), cmd.getMessageTemplateId(),
cmd.getSaveProgressEvery(), cmd.isInitialAutoStart(), cmd.getCampaignScheduledTime(), cmd.getStartOption(),
cmd.getScheduleChronExpression(),
cmd.getWebHooks(), cmd.getSliceSize(), cmd.getNetworkCarrierFilter()));
events.add(new CampaignResuming(cmd.getCampaignId(), OffsetDateTime.now(ZoneOffset.UTC), 0));
return Effect()
.persist(events)
.thenRun(newState -> {
this.campaignRunner = spawnCampaignRunner(newState, this.context,
this.campaignService, this.outboundCampaignMessageService, this.contactService, this.suppressedContactService,
this.leadService, this.domainGroupService, this.domainService, this.offerService,
this.routeService, this.clickService, this.webClientBuilder);
})
.thenReply(cmd.getReplyTo(), newState -> StatusReply.ack());
}
return Effect().persist(new CampaignCreated(cmd.getCampaignId(),
OffsetDateTime.now(ZoneOffset.UTC), cmd.getName(),
cmd.getDomainGroupId(),cmd.getDomainIdWithCount(), cmd.getContactListId(),
cmd.getContactSegmentId(), cmd.getRouteId(),
cmd.getOfferId(), cmd.getVertical(),
cmd.getContactSkipOffset(), cmd.getSendSpeed(),
cmd.getCampaignOptimization(), cmd.getDataTriggers(),
cmd.getDegreeOfParallelism(), cmd.getContactFilter(),
cmd.getMessageTemplate(), cmd.getMessageTemplateId(),
cmd.getSaveProgressEvery(), false, cmd.getCampaignScheduledTime(), cmd.getStartOption(),
cmd.getScheduleChronExpression(),
cmd.getWebHooks(), cmd.getSliceSize(), cmd.getNetworkCarrierFilter()))
.thenReply(cmd.getReplyTo(), newState -> StatusReply.ack());
})
.onCommand(Edit.class, (state, cmd) -> Effect().reply(cmd.getReplyTo(), StatusReply.error("Campaign doesn't exists.")))
.onCommand(Pause.class, (state, cmd) -> Effect().reply(cmd.getReplyTo(), StatusReply.error("Campaign doesn't exists.")))
.onCommand(ProcessCompleted.class, (state, cmd) -> Effect().reply(cmd.getReplyTo(), StatusReply.error("Campaign doesn't exists.")))
.onCommand(ProcessFailed.class, (state, cmd) -> Effect().reply(cmd.getReplyTo(), StatusReply.error("Campaign doesn't exists.")))
.onCommand(Resume.class, (state, cmd) -> Effect().reply(cmd.getReplyTo(), StatusReply.error("Campaign doesn't exists.")))
.onCommand(ProcessSaveProgress.class, (state, cmd) -> Effect().reply(cmd.getReplyTo(), StatusReply.error("Campaign doesn't exists.")))
.onCommand(ProcessRunning.class, (state, cmd) -> Effect().none().thenNoReply())
.onCommand(ProcessPaused.class, (state, cmd) -> Effect().none().thenNoReply())
.onCommand(AddCustomRevenue.class, (state, cmd) ->  Effect().reply(cmd.getReplyTo(), StatusReply.error("Campaign doesn't exists.")));
}
Здесь я хочу подождать, пока Campaine Craited будет настойчивой, и прогноз будет завершена, только тогда я хочу возобновить кампанию и Spawn Campaignner.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... atus-check
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»