2014-06-19 5 views
0

instruction 다음 사용자 정의 배경 작업을 만들었습니다.과수원 CMS 사용자 정의 배경 작업

discussion regarding this problem도 볼 수 있습니다.

생성 된 작업 처리기 및 작업 생성자는 매분마다 호출됩니다. 프로세스 메서드가 호출되지 않습니다. 또한 시간 초과 예외 "Orchard.Tasks.BackgroundService - 백그라운드 작업을 처리하는 동안 오류가 발생했습니다".

새로운 작업을 추가하는 것이 가능하지만 모든 쿼리가 작동하지 않는 것은 흥미 롭습니다.

Scheduling_ScheduledTaskRecord 테이블을 확인했는데 잠겼습니다. 코드 및 SQL 관리 인터페이스에서 시간 초과 예외가 발생합니다. 사이트 프로세스를 돌리면 잠금이 해제됩니다.

답변

1

백그라운드에서 실행되는 예약 된 작업에 대해 설명하고 있습니다. Process의 실행을 트리거하려면 첫 번째 작업을 수행해야합니다 (따라서 루프가 시작됨). DateTime.UtcNow을 사용하여 작업을 예약하십시오. 60 초마다 실행됩니다)

public class MyBackgroundService : IBackgroundTask { 

    public MyBackgroundService() { 
    } 

    public void Sweep() { 
     //Background task execution 
     //DO some work 
    } 
} 

스윕 (:

또한,이 방법으로 배경 작업을 사용할 수 있습니다. 이전 작업이 아직 실행중인 경우에도 매분마다 실행되므로이 ​​방법이 적합한 지 여부는 알 수 없습니다.

+0

첫 번째 작업이 예약됩니다. 문제는 당신이 테이블을 쿼리 할 수 ​​없다는 것입니다. 타임 아웃 예외가 발생합니다. BackgroudTask를 사용하려고 시도 할 것입니다. 여러 작업이 저에게 문제가되지 않습니다. 동시성 대기열을 처리하고 있습니다. –

+0

내 문제를 해결하지 못했지만 다른 해결 방법이 있습니다. 감사 –