Remove noisy CancellationToken parameters

The CancellationToken is now available as part of the ActivityExecutionContext
This commit is contained in:
Sipke Schoorstra 2020-12-02 22:28:36 +01:00
parent dadee53d2d
commit bf1d54d1e6
33 changed files with 49 additions and 91 deletions

View file

@ -1,5 +1,4 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.AzureServiceBus.Services;
using Elsa.ActivityResults;
@ -26,9 +25,9 @@ namespace Elsa.Activities.AzureServiceBus
[ActivityProperty] public string QueueName { get; set; } = default!;
[ActivityProperty] public object Message { get; set; } = default!;
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
var sender = await _messageSenderFactory.GetSenderAsync(QueueName, cancellationToken);
var sender = await _messageSenderFactory.GetSenderAsync(QueueName, context.CancellationToken);
var json = _serializer.Serialize(Message);
var bytes = Encoding.UTF8.GetBytes(json);
var message = new Message(bytes);

View file

@ -1,5 +1,4 @@
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityResults;
using Elsa.Attributes;
@ -30,9 +29,7 @@ namespace Elsa.Activities.Console
_input = input;
}
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(
ActivityExecutionContext context,
CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
if (_input == null)
return Suspend();

View file

@ -1,5 +1,4 @@
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityResults;
using Elsa.Attributes;
@ -33,7 +32,7 @@ namespace Elsa.Activities.Console
private readonly TextWriter _output;
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
await _output.WriteLineAsync(Text);
return Done();

View file

@ -1,4 +1,3 @@
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.Dropbox.Models;
using Elsa.Activities.Dropbox.Services;
@ -29,7 +28,7 @@ namespace Elsa.Activities.Dropbox.Activities
[ActivityProperty(Hint = "An expression evaluating to the path to which the file should be saved.")]
public string Path { get; set; } = default!;
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
await _filesApi.UploadAsync(
new UploadRequest
@ -41,7 +40,7 @@ namespace Elsa.Activities.Dropbox.Activities
Path = Path,
},
FileData,
cancellationToken
context.CancellationToken
);
return Done();

View file

@ -1,4 +1,3 @@
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.Email.Services;
using Elsa.ActivityResults;
@ -34,7 +33,7 @@ namespace Elsa.Activities.Email
[WorkflowExpressionOptions(Multiline = true)]
public string Body { get; set; }
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
var message = new MimeMessage();
@ -47,7 +46,7 @@ namespace Elsa.Activities.Email
};
message.To.Add(MailboxAddress.Parse(To));
await _smtpService.SendAsync(message, cancellationToken);
await _smtpService.SendAsync(message, context.CancellationToken);
return Done();
}

View file

@ -61,10 +61,10 @@ namespace Elsa.Activities.Http
[ActivityProperty]
public Type? TargetType { get; set; }
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken) =>
context.WorkflowExecutionContext.IsFirstPass ? await ExecuteInternalAsync(cancellationToken) : Suspend();
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context) =>
context.WorkflowExecutionContext.IsFirstPass ? await ExecuteInternalAsync(context.CancellationToken) : Suspend();
protected override ValueTask<IActivityExecutionResult> OnResumeAsync(ActivityExecutionContext context, CancellationToken cancellationToken) => ExecuteInternalAsync(cancellationToken);
protected override ValueTask<IActivityExecutionResult> OnResumeAsync(ActivityExecutionContext context) => ExecuteInternalAsync(context.CancellationToken);
private async ValueTask<IActivityExecutionResult> ExecuteInternalAsync(CancellationToken cancellationToken)
{

View file

@ -4,7 +4,6 @@ using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.Http.Models;
using Elsa.Activities.Http.Services;
@ -93,11 +92,10 @@ namespace Elsa.Activities.Http
)]
public ICollection<int> SupportedStatusCodes { get; set; } = new HashSet<int>(new[] { 200 });
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(
ActivityExecutionContext context,
CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
var request = CreateRequest();
var cancellationToken = context.CancellationToken;
var response = await _httpClient.SendAsync(request, cancellationToken);
var hasContent = response.Content != null;
var contentType = response.Content?.Headers.ContentType.MediaType;

View file

@ -1,5 +1,4 @@
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.Http.Models;
using Elsa.ActivityResults;
@ -63,9 +62,7 @@ namespace Elsa.Activities.Http
[ActivityProperty(Hint = "The headers to send along with the response.")]
public HttpResponseHeaders? ResponseHeaders { get; set; }
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(
ActivityExecutionContext context,
CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
var response = _httpContextAccessor.HttpContext.Response;
@ -86,7 +83,7 @@ namespace Elsa.Activities.Http
var bodyText = Content;
if (!string.IsNullOrWhiteSpace(bodyText))
await response.WriteAsync(bodyText, cancellationToken);
await response.WriteAsync(bodyText, context.CancellationToken);
return Done();
}

View file

@ -1,4 +1,3 @@
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.MassTransit.Options;
using Elsa.ActivityResults;
@ -30,7 +29,7 @@ namespace Elsa.Activities.MassTransit
protected override bool OnCanExecute(ActivityExecutionContext context) => TokenId != null && _options.SchedulerAddress != null;
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext activityExecutionContext, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext activityExecutionContext)
{
var endpoint = await SendEndpointProvider.GetSendEndpoint(_options.SchedulerAddress);
await endpoint.CancelScheduledRecurringSend(TokenId!, "");

View file

@ -1,4 +1,3 @@
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityResults;
using Elsa.Attributes;
@ -24,9 +23,9 @@ namespace Elsa.Activities.MassTransit
protected override bool OnCanExecute(ActivityExecutionContext context) => Message != null;
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
await PublishEndpoint.Publish(Message!, cancellationToken);
await PublishEndpoint.Publish(Message!, context.CancellationToken);
return Done();
}

View file

@ -1,5 +1,4 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.MassTransit.Activities.ScheduleSendMassTransitMessage;
using Elsa.Activities.MassTransit.Options;
@ -43,16 +42,14 @@ namespace Elsa.Activities.MassTransit
protected override bool OnCanExecute(ActivityExecutionContext context) =>
Message != null && _options.SchedulerAddress != null;
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(
ActivityExecutionContext context,
CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
var endpoint = await SendEndpointProvider.GetSendEndpoint(_options.SchedulerAddress);
var scheduledMessage = await endpoint.ScheduleRecurringSend(
EndpointAddress,
new InstantRecurringSchedule(ScheduledTime),
Message,
cancellationToken);
context.CancellationToken);
return Done(scheduledMessage);
}

View file

@ -1,5 +1,4 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityResults;
using Elsa.Attributes;
@ -31,11 +30,10 @@ namespace Elsa.Activities.MassTransit
return Message != null;
}
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(
ActivityExecutionContext context,
CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
var message = Message;
var cancellationToken = context.CancellationToken;
if (EndpointAddress != null)
{

View file

@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityResults;
using Elsa.Attributes;
@ -24,7 +23,7 @@ namespace Elsa.Activities.Rebus
[ActivityProperty(Hint = "Optional headers to send along with the message.")]
public IDictionary<string, string>? Headers { get; set; }
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
await _eventPublisher.PublishAsync(Message, Headers);
return Done();

View file

@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityResults;
using Elsa.Attributes;
@ -24,7 +23,7 @@ namespace Elsa.Activities.Rebus
[ActivityProperty(Hint = "Optional headers to send along with the message.")]
public IDictionary<string, string>? Headers { get; set; }
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
await _bus.SendAsync(Message, Headers);
return Done();

View file

@ -1,4 +1,3 @@
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.Timers.Services;
using Elsa.ActivityResults;
@ -37,11 +36,12 @@ namespace Elsa.Activities.Timers
set => SetState(value);
}
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
if (context.WorkflowExecutionContext.IsFirstPass)
return Done();
var cancellationToken = context.CancellationToken;
var workflowBlueprint = context.WorkflowExecutionContext.WorkflowBlueprint;
var workflowInstance = context.WorkflowExecutionContext.WorkflowInstance;
var executeAt = GetNextOccurrence(CronExpression);

View file

@ -1,4 +1,3 @@
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.Timers.Services;
using Elsa.ActivityResults;
@ -37,11 +36,12 @@ namespace Elsa.Activities.Timers
set => SetState(value);
}
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
if (context.WorkflowExecutionContext.IsFirstPass)
return Done();
var cancellationToken = context.CancellationToken;
var workflowBlueprint = context.WorkflowExecutionContext.WorkflowBlueprint;
var workflowInstance = context.WorkflowExecutionContext.WorkflowInstance;
var executeAt = Instant;

View file

@ -1,4 +1,3 @@
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.Timers.Services;
using Elsa.ActivityResults;
@ -33,11 +32,12 @@ namespace Elsa.Activities.Timers
set => SetState(value);
}
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
if (context.WorkflowExecutionContext.IsFirstPass)
return Done();
var cancellationToken = context.CancellationToken;
var workflowBlueprint = context.WorkflowExecutionContext.WorkflowBlueprint;
var workflowInstance = context.WorkflowExecutionContext.WorkflowInstance;
var executeAt = _clock.GetCurrentInstant().Plus(Timeout);

View file

@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Threading.Tasks;
using Elsa.ActivityResults;
using Elsa.Services.Models;
using Newtonsoft.Json.Linq;
namespace Elsa.ActivityProviders
{

View file

@ -1,9 +1,6 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Elsa.Services;
using Elsa.Services.Models;
namespace Elsa.Builders
{

View file

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityResults;
using Elsa.Models;
@ -22,12 +21,12 @@ namespace Elsa.Services
public bool LoadWorkflowContext { get; set; }
public bool SaveWorkflowContext { get; set; }
public JObject Data { get; set; } = new();
public ValueTask<bool> CanExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken) => OnCanExecuteAsync(context, cancellationToken);
public ValueTask<IActivityExecutionResult> ExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken) => OnExecuteAsync(context, cancellationToken);
public ValueTask<IActivityExecutionResult> ResumeAsync(ActivityExecutionContext context, CancellationToken cancellationToken) => OnResumeAsync(context, cancellationToken);
protected virtual ValueTask<bool> OnCanExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken) => new(OnCanExecute(context));
protected virtual ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken) => new(OnExecute(context));
protected virtual ValueTask<IActivityExecutionResult> OnResumeAsync(ActivityExecutionContext context, CancellationToken cancellationToken) => new(OnResume(context));
public ValueTask<bool> CanExecuteAsync(ActivityExecutionContext context) => OnCanExecuteAsync(context);
public ValueTask<IActivityExecutionResult> ExecuteAsync(ActivityExecutionContext context) => OnExecuteAsync(context);
public ValueTask<IActivityExecutionResult> ResumeAsync(ActivityExecutionContext context) => OnResumeAsync(context);
protected virtual ValueTask<bool> OnCanExecuteAsync(ActivityExecutionContext context) => new(OnCanExecute(context));
protected virtual ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context) => new(OnExecute(context));
protected virtual ValueTask<IActivityExecutionResult> OnResumeAsync(ActivityExecutionContext context) => new(OnResume(context));
protected virtual bool OnCanExecute(ActivityExecutionContext context) => true;
protected virtual IActivityExecutionResult OnExecute(ActivityExecutionContext context) => OnExecute();
protected virtual IActivityExecutionResult OnExecute() => Done();

View file

@ -1,4 +1,3 @@
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityResults;
using Elsa.Services.Models;
@ -56,16 +55,16 @@ namespace Elsa.Services
/// <summary>
/// Returns a value of whether the specified activity can execute.
/// </summary>
ValueTask<bool> CanExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken = default);
ValueTask<bool> CanExecuteAsync(ActivityExecutionContext context);
/// <summary>
/// Executes the specified activity.
/// </summary>
ValueTask<IActivityExecutionResult> ExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken = default);
ValueTask<IActivityExecutionResult> ExecuteAsync(ActivityExecutionContext context);
/// <summary>
/// Resumes the specified activity.
/// </summary>
ValueTask<IActivityExecutionResult> ResumeAsync(ActivityExecutionContext context, CancellationToken cancellationToken = default);
ValueTask<IActivityExecutionResult> ResumeAsync(ActivityExecutionContext context);
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;

View file

@ -1,4 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;

View file

@ -1,6 +1,5 @@
using System;
using System.ComponentModel;
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityResults;
using Elsa.Attributes;
@ -20,6 +19,6 @@ namespace Elsa.Activities.Primitives
[ActivityProperty]
public Func<ActivityExecutionContext, ValueTask<IActivityExecutionResult>> Function { get; set; }
protected override ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken) => Function(context);
protected override ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context) => Function(context);
}
}

View file

@ -1,4 +1,3 @@
using System.Threading;
using System.Threading.Tasks;
using Elsa.Activities.Signaling.Services;
using Elsa.ActivityResults;
@ -35,9 +34,9 @@ namespace Elsa.Activities.Signaling
[ActivityProperty(Hint = "An expression that evaluates to an input value when triggering the signal.")]
public object? Input { get; set; }
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
await _signaler.SendSignalAsync(Signal, Input, CorrelationId, cancellationToken);
await _signaler.SendSignalAsync(Signal, Input, CorrelationId, context.CancellationToken);
return Done();
}
}

View file

@ -41,8 +41,9 @@ namespace Elsa.Activities.Workflows
set => SetState(value);
}
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
protected override async ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
{
var cancellationToken = context.CancellationToken;
var workflowBlueprint = await FindWorkflowBlueprintAsync(cancellationToken);
var workflowInstance = await _workflowScheduler.RunWorkflowAsync(workflowBlueprint!, TenantId, Input, CorrelationId, ContextId, cancellationToken);
ChildWorkflowInstanceId = workflowInstance.WorkflowInstanceId;

View file

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityProviders;
@ -48,17 +47,17 @@ namespace Elsa.ActivityTypeProviders
CanExecuteAsync = async context =>
{
var instance = await ActivateActivity(context, activityType);
return await instance.CanExecuteAsync(context, context.CancellationToken);
return await instance.CanExecuteAsync(context);
},
ExecuteAsync = async context =>
{
var instance = await ActivateActivity(context, activityType);
return await instance.ExecuteAsync(context, context.CancellationToken);
return await instance.ExecuteAsync(context);
},
ResumeAsync = async context =>
{
var instance = await ActivateActivity(context, activityType);
return await instance.ResumeAsync(context, context.CancellationToken);
return await instance.ResumeAsync(context);
}
};
}

View file

@ -1,10 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Elsa.Services;
using Elsa.Services.Models;
namespace Elsa.Builders
{

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using Elsa;
using Elsa.Activities.ControlFlow;
using Elsa.Activities.Primitives;
@ -26,7 +25,6 @@ using Elsa.Triggers;
using Elsa.WorkflowProviders;
using MediatR;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting;
using NodaTime;
using Rebus.ServiceProvider;

View file

@ -1,8 +1,5 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityProviders;
using Elsa.Models;
using Elsa.Services.Models;

View file

@ -1,5 +1,4 @@
using System;
using System.Threading;
using System.Threading;
using System.Threading.Tasks;
using Elsa.Services.Models;
using Microsoft.Extensions.DependencyInjection;

View file

@ -1,6 +1,5 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using YesSql.Provider.Sqlite;
namespace Elsa.Samples.HelloWorldHttp
{

View file

@ -1,5 +1,4 @@
using System;
using Elsa.Metadata;
using Elsa.Models;
using Elsa.Server.Api.Extensions;
using Elsa.Server.Api.Swagger;