Dreamine.Threading 1.0.1
이 패키지는 .NET ThreadPool이나 Task Parallel Library를 대체하려는 목적이 아닙니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.Threading.Services.DreamineThreadJob 클래스 참조sealed

더 자세히 ...

Dreamine.Threading.Services.DreamineThreadJob에 대한 상속 다이어그램 :
Dreamine.Threading.Services.DreamineThreadJob에 대한 협력 다이어그램:

Public 멤버 함수

 DreamineThreadJob (DreamineThreadJobOptions options, Func< CancellationToken, ValueTask > action)
bool ShouldRun (DateTimeOffset now)
async ValueTask ExecuteAsync (CancellationToken cancellationToken)

속성

string Name [get]
DreamineThreadJobOptions Options [get]
long ExecuteCount [get]
DateTimeOffset? LastExecutedAt [get]
Exception? LastException [get, private set]

Private 속성

readonly Func< CancellationToken, ValueTask > _action
DateTimeOffset? _lastExecutedAt
long _executeCount

상세한 설명

기본 Dreamine 스레드 작업 구현을 제공합니다.

DreamineThreadJob.cs 파일의 14 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ DreamineThreadJob()

Dreamine.Threading.Services.DreamineThreadJob.DreamineThreadJob ( DreamineThreadJobOptions options,
Func< CancellationToken, ValueTask > action )
inline

지정한 옵션과 비동기 대리자로 T:Dreamine.Threading.Services.DreamineThreadJob 클래스의 새 인스턴스를 초기화합니다.

매개변수
options정규화할 작업 옵션입니다.
action작업 실행 시 호출할 비동기 대리자입니다.
예외
ArgumentNullExceptionoptions 또는 actionnull일 때 발생합니다.

DreamineThreadJob.cs 파일의 126 번째 라인에서 정의되었습니다.

129 {
130 ArgumentNullException.ThrowIfNull(options);
131 ArgumentNullException.ThrowIfNull(action);
132
133 Options = options.Normalize();
134 Name = Options.Name;
135 _action = action;
136 }

다음을 참조함 : _action, Name, Dreamine.Threading.Models.DreamineThreadJobOptions.Normalize(), Options.

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 함수 문서화

◆ ExecuteAsync()

async ValueTask Dreamine.Threading.Services.DreamineThreadJob.ExecuteAsync ( CancellationToken cancellationToken)
inline

작업 대리자를 실행하고 성공 통계 또는 마지막 예외를 갱신합니다.

매개변수
cancellationToken작업 대리자에 전달할 취소 토큰입니다.
반환값
비동기 작업 실행을 나타내는 값 작업입니다.
예외
OperationCanceledException대리자가 취소를 보고하면 그대로 전파됩니다.
Exception대리자가 발생시킨 비취소 예외를 LastException에 저장한 뒤 다시 전파합니다.

Dreamine.Threading.Interfaces.IDreamineThreadJob를 구현.

DreamineThreadJob.cs 파일의 223 번째 라인에서 정의되었습니다.

224 {
225 try
226 {
227 await _action(cancellationToken).ConfigureAwait(false);
228
229 _lastExecutedAt = DateTimeOffset.Now;
230 Interlocked.Increment(ref _executeCount);
231 LastException = null;
232 }
233 catch (Exception ex) when (ex is not OperationCanceledException)
234 {
235 LastException = ex;
236 throw;
237 }
238 }

다음을 참조함 : _action, _executeCount, _lastExecutedAt, LastException.

◆ ShouldRun()

bool Dreamine.Threading.Services.DreamineThreadJob.ShouldRun ( DateTimeOffset now)
inline

활성 상태와 마지막 성공 실행 시각을 기준으로 현재 작업 실행 여부를 판단합니다.

매개변수
now실행 간격을 평가할 현재 시각입니다.
반환값
활성화되어 있고 최초 실행이거나 간격이 경과했으면 true입니다.

Dreamine.Threading.Interfaces.IDreamineThreadJob를 구현.

DreamineThreadJob.cs 파일의 162 번째 라인에서 정의되었습니다.

163 {
164 if (!Options.IsEnabled)
165 {
166 return false;
167 }
168
169 if (Options.IntervalMs == 0)
170 {
171 return true;
172 }
173
174 if (_lastExecutedAt is null)
175 {
176 return true;
177 }
178
179 var elapsedMs = (now - _lastExecutedAt.Value).TotalMilliseconds;
180 return elapsedMs >= Options.IntervalMs;
181 }

다음을 참조함 : _lastExecutedAt, Options.

멤버 데이터 문서화

◆ _action

readonly Func<CancellationToken, ValueTask> Dreamine.Threading.Services.DreamineThreadJob._action
private

action 값을 보관합니다.

DreamineThreadJob.cs 파일의 24 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : DreamineThreadJob(), ExecuteAsync().

◆ _executeCount

long Dreamine.Threading.Services.DreamineThreadJob._executeCount
private

execute Count 값을 보관합니다.

DreamineThreadJob.cs 파일의 42 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : ExecuteAsync().

◆ _lastExecutedAt

DateTimeOffset? Dreamine.Threading.Services.DreamineThreadJob._lastExecutedAt
private

last Executed At 값을 보관합니다.

DreamineThreadJob.cs 파일의 33 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : ExecuteAsync(), ShouldRun().

속성 문서화

◆ ExecuteCount

long Dreamine.Threading.Services.DreamineThreadJob.ExecuteCount
get

성공적으로 완료된 실행 횟수를 원자적으로 가져옵니다.

Dreamine.Threading.Interfaces.IDreamineThreadJob를 구현.

DreamineThreadJob.cs 파일의 72 번째 라인에서 정의되었습니다.

◆ LastException

Exception? Dreamine.Threading.Services.DreamineThreadJob.LastException
getprivate set

마지막 실패에서 발생한 예외를 가져옵니다.

Dreamine.Threading.Interfaces.IDreamineThreadJob를 구현.

DreamineThreadJob.cs 파일의 92 번째 라인에서 정의되었습니다.

92{ get; private set; }

다음에 의해서 참조됨 : ExecuteAsync().

◆ LastExecutedAt

DateTimeOffset? Dreamine.Threading.Services.DreamineThreadJob.LastExecutedAt
get

마지막 성공 실행 시각을 가져옵니다.

Dreamine.Threading.Interfaces.IDreamineThreadJob를 구현.

DreamineThreadJob.cs 파일의 82 번째 라인에서 정의되었습니다.

◆ Name

string Dreamine.Threading.Services.DreamineThreadJob.Name
get

정규화된 작업 이름을 가져옵니다.

Dreamine.Threading.Interfaces.IDreamineThreadJob를 구현.

DreamineThreadJob.cs 파일의 52 번째 라인에서 정의되었습니다.

52{ get; }

다음에 의해서 참조됨 : DreamineThreadJob().

◆ Options

DreamineThreadJobOptions Dreamine.Threading.Services.DreamineThreadJob.Options
get

정규화된 작업 옵션을 가져옵니다.

Dreamine.Threading.Interfaces.IDreamineThreadJob를 구현.

DreamineThreadJob.cs 파일의 62 번째 라인에서 정의되었습니다.

62{ get; }

다음에 의해서 참조됨 : DreamineThreadJob(), ShouldRun().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: