public async Task NextBatch(TState state) { var result = await Query(state); if (result == null) { return; } var resources = result.ToArray(); if (!resources.Any()) { return; } var batchId = _batchJobClient.StartNew(x => { foreach (var methodName in OnStartedMethodNames()) { x.Enqueue(() => CallNotificationMethod(methodName, state)); } foreach (var resource in resources) { x.Enqueue(() => Next(resource)); } }); _batchJobClient.ContinueBatchWith( batchId, x => x.Enqueue(() => NextBatch(state))); }
public string QueueBatch() { return(_batchClient.StartNew(x => x.Enqueue <TestService>(a => a.TestStart()))); }