2016-10-27 1 views
5

저는 Hangfire를 반복 작업에 대한 작업 스케줄러로 사용하려고합니다. 그래서 그들을 구성하는 것은 간단합니다 AddOrUpdate,하지만 어떻게 내가 그것을 삭제합니까? 해당 작업이 삭제 된 후 RecurringJob.RemoveIfExists()으로 코드를 오염시키고 나중에 삭제해야한다는 것을 기억해야합니다.시작시 모든 hangfire 되풀이 작업을 제거하는 방법은 무엇입니까?

모든 되풀이 작업의 목록을 가져 와서 서버가 시작될 때 삭제하여 내 코드가 매번 다시 추가 할 수있는 방법이 있습니까? 그렇지 않다면 더 좋은 방법이 있을까요?

응용 프로그램 버전 1 : 추가 된 새로운 Hangfire 반복 작업 Do something 1

응용 프로그램 버전 2 : 추가 된 새로운 Hangfire 반복 작업 Do something 2Do Something 3

응용 프로그램 버전 3 : 제거 Hangfire 반복 작업 Do something 2

문제점 : 작업이 "Could not load type ..."오류로 인해 서버에 계속 존재하므로 삭제해야합니다.

답변

17

조금 늦 으면 좋겠지 만 다른 사람에게 도움이되기를 바랍니다. 나는 같은 상황에 처해있다. 결국 HangFire recurring task data의 대답은 나를 도왔다.

나는 모든 반복 작업을 통해 루프에 JobStorage를 사용하고 아래로 차례로 각을 제거 : 거기가 더 좋은 방법입니다하지만 난 그것을

를 찾을 수 없습니다 나는 확신

using (var connection = JobStorage.Current.GetConnection()) 
{ 
    foreach (var recurringJob in connection.GetRecurringJobs()) 
    { 
     RecurringJob.RemoveIfExists(recurringJob.Id); 
    } 
} 

관련 문제