public static async Task RunOrchestrator( [OrchestrationTrigger] IDurableOrchestrationContext context, CancellationToken token) { var timeSince = DateTime.UtcNow.AddDays(-1); bool needToContinue; var page = 0; do { needToContinue = false; //TODO check assignment var query = new GetUpdatesEmailUsersQuery(timeSince, page++); var result = await context.CallActivityAsync <IEnumerable <UpdateUserEmailDto> >("EmailUpdateFunction_UserQuery", query); foreach (var emailDto in result) { if (token.IsCancellationRequested) { break; } needToContinue = true; emailDto.Since = timeSince; await context.CallActivityAsync <string>("EmailUpdateFunction_Process", emailDto); } } while (needToContinue); }
public static async Task <IEnumerable <UpdateUserEmailDto> > GetUserQuery( [ActivityTrigger] GetUpdatesEmailUsersQuery query, [Inject] IQueryBus queryBus, CancellationToken token) { var result = await queryBus.QueryAsync(query, token); return(result); }
public async Task GetUpdatesEmailUsersQuery_Ok() { var query = new GetUpdatesEmailUsersQuery(DateTime.UtcNow.AddDays(-1), 0); var _ = await fixture.QueryBus.QueryAsync(query, default); }