protected internal override async Task <InvocationResult> Invoke() { try { await Execute(); return(InvocationResult.Completed()); } catch (Exception ex) { return(InvocationResult.Faulted(ex)); } }
protected internal override async Task <InvocationResult> Invoke() { // Invoke the job. When it returns, it means there's no more data to process // So go to sleep until the wait period elapses try { await Execute(); return(InvocationResult.Completed(WaitPeriod)); } catch (Exception ex) { return(InvocationResult.Faulted(ex, WaitPeriod)); } }
private async Task <InvocationResult> InvokeCore(Func <Task <JobContinuation> > invoker) { try { var continuation = await invoker(); if (continuation != null) { return(InvocationResult.Suspended(continuation)); } else { return(InvocationResult.Completed()); } } catch (Exception ex) { return(InvocationResult.Faulted(ex)); } }
public async Task GivenJobWithName_ItInvokesTheJobAndReturnsTheResult() { // Arrange var host = new TestServiceHost(); host.Initialize(); var job = new JobDescription("test", typeof(TestJob)); var dispatcher = new JobDispatcher(new[] { job }, host.Container); var invocation = TestHelpers.CreateInvocation(Guid.NewGuid(), "Test", "test", new Dictionary <string, string>()); var context = new InvocationContext(invocation, queue: null); var expected = InvocationResult.Completed(); TestJob.SetTestResult(expected); // Act var actual = await dispatcher.Dispatch(context); // Assert Assert.Same(expected, actual); }
protected internal override Task <InvocationResult> Invoke() { return(Task.FromResult(InvocationResult.Completed())); }
public Task <InvocationResult> InvokeContinuation(InvocationContext context) { return(Task.FromResult(InvocationResult.Completed())); }