* Update gitignore * Move csproj * Update project references * Update solutions * Update build scripts * Tests used to share editorconfig with projects in src * Fix broken tests. * Stop copying around .editorconfig merged root one with linting * csharp_style_expression_bodied -> suggestion * Move StyleCop rulesets to matching directories and update shared build properties * Remove legacy build files, update NuGet.cofig and solution files * Restore myget source * Clean up .gitignore * Update .gitignore * Move new test classes to tests after merge * Gitignore + nuget config * Move new test Co-authored-by: Ronald Barendse <ronald@barend.se>
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Umbraco.Web.Scheduling
|
|
{
|
|
/// <summary>
|
|
/// Represents a latched background task.
|
|
/// </summary>
|
|
/// <remarks>Latched background tasks can suspend their execution until
|
|
/// a condition is met. However if the tasks runner has to terminate,
|
|
/// latched background tasks can be executed immediately, depending on
|
|
/// the value returned by RunsOnShutdown.</remarks>
|
|
public interface ILatchedBackgroundTask : IBackgroundTask
|
|
{
|
|
/// <summary>
|
|
/// Gets a task on latch.
|
|
/// </summary>
|
|
/// <exception cref="InvalidOperationException">The task is not latched.</exception>
|
|
Task Latch { get; }
|
|
|
|
/// <summary>
|
|
/// Gets a value indicating whether the task is latched.
|
|
/// </summary>
|
|
/// <remarks>Should return false as soon as the condition is met.</remarks>
|
|
bool IsLatched { get; }
|
|
|
|
/// <summary>
|
|
/// Gets a value indicating whether the task can be executed immediately if the task runner has to terminate.
|
|
/// </summary>
|
|
bool RunsOnShutdown { get; }
|
|
}
|
|
}
|