Hangfire는 대부분의 .NET 플랫폼에서 작동합니다:.NET Framework 4.5 또는 이후 버전.NET Core 1.0 또는 그 이후의 모든 것과 관련된 모든 것. NET 표준 1.3 호환 플랫폼입니다. ASP.NET, ASP.NET 코어, 콘솔 애플리케이션, 윈도우 서비스, WCF, 그리고 Nancy나 ServiceStack 같은 커뮤니티 드라이버 등 거의 모든 애플리케이션 프레임워크와 통합할 수 있습니다.
적용 가능한 시나리오:백그라운드는 비동기식으로 이메일을 보내고 가능한 한 빨리 사용자에게 답장을 보냅니다. 작업의 예약 실행, 순환 실행, 시간 소모 작업의 비동기 실행, 작업 A 실행 완료 후 B 작업 실행, 배치 실행 등이 포함됩니다. 제가 예전에 했던 방법:
Windows 서비스 같은 다른 프로세스를 사용하지 않고도 백 ASP.NET 처리를 애플리케이션에 넣을 수 있습니다. 행파이어의 코드가 배포 준비가 완료되었습니다예상치 못한 프로세스 종료, 애플리케이션 풀 재활용 및 재시작。 사용 때문에영구 저장그래서 당신배경 직업이 사라지지 않습니다。
먼저, 렌더링은 다음과 같습니다:
위 사진은 Hangfire 대시보드 대시보드인데, 매우 유용하고 백그라운드 작업 상태를 확인할 수 있고, 매우 멋지기 때문에 반드시 설정해야 합니다.
대시보드 UI는 시작 클래스가 필요하며, 단지 당신이Startup 클래스로 Hangfire를 구성할 때,대시보드 UI사용할 수 있습니다。
처음에는 Hangfire Dashboard 대시보드를 설정하지 않았고 다음과 같은 오류가 발생했습니다:
앱을 불러오려는 과정에서 다음과 같은 오류가 발생했습니다. - OwinStartupAttribute를 포함하는 어셈블리를 찾지 못함. - Startup 또는 [AssemblyName]을 포함하는 어셈블리가 발견되지 않음. 스타트업 수업. OWIN 시작 검색을 비활성화하려면, web.config에 "false" 값을 가진 appSetting owin:AutomaticAppStartup을 추가하세요. OWIN 스타트업 어셈블리, 클래스 또는 메서드를 지정하려면, web.config에 appSetting owin:AppStartup을 완전한 자격을 갖춘 스타트업 클래스 또는 구성 메서드 이름과 함께 추가하세요.
용액:
Global.asax.cs 기반 초기화를 사용할 때는 OWIN의 스타트업 클래스 감지 기능을 비활성화해야 할 수도 있습니다.
본론으로 들어가기 시작하자, 튜토리얼은 다음과 같이 시작됩니다:
1: 프레임워크는 행파이어의 요구를 충족해야 한다,제 프로젝트는 .net 4.6.2입니다, 그래서 행파이어는 정상적으로 설치할 수 있고, .net 4.0 프로젝트는 시도할 필요가 없고 지원되지 않습니다!
2: nuget 명령어는 다음과 같습니다:
3: OWIN 스타트래핑 클래스는 웹 애플리케이션 부트스트래핑 로직을 한 곳에 모으도록 설계되었습니다. Visual Studio 2013에서는 프로젝트를 우클릭한 후 Add/OWIN Startup Class 메뉴 항목을 선택해 추가할 수 있습니다. 아래에 나와 있습니다:
프로젝트 루트 디렉터리에 새 Startup.cs 파일을 생성하세요.
4: 구성데이터베이스 연결 문자열여기서 사용하는 SQL Server 2012 버전입니다. web.config의 구성은 다음과 같습니다:
5: Hangfire 대시보드를 설정하여 필터에 접근하고 새 필터를 생성합니다HangfireAuthorizationFilter.cs파일.
기본적으로 Hangfire 대시보드에 대한 로컬 접근만 허용됩니다. 대시보드 인증은 원격 접속을 허용하도록 설정되어야 합니다.
6: Startup.cs 클래스를 구성하며, 코드는 다음과 같습니다:
7: 웹사이트 프로젝트 시작
Debug 모드를 눌러 F5 애플리케이션을 실행하세요(Debug.WriteLine 메서드의 출력을 확인해야 합니다). 그 다음 출력 창에서 다음 메시지를 확인하여 백그라운드 처리가 성공적으로 시작되었는지 확인하세요.
동시에, 데이터베이스에는 모든 작업이 정상적으로 실행될 수 있고, IIS 복구나 프로세스 재시작 시 작업이 손실되지 않도록 하기 위해 11개의 추가 테이블도 포함되어 있습니다. 아래 그림에서 볼 수 있습니다:
http://<your-web-app>/행파이어 대시보드 UI URL을 방문하여 기사 상단의 렌더링을 확인하세요.
첨부된 사용
Fire-And-forget (게시/구독)
이것이 영구 메시지 큐가 처리하는 주요 백그라운드 작업 유형입니다. 게시/구독 작업을 생성하면 작업이 기본 큐에 저장됩니다(기본 큐는 "Default"이지만 여러 큐가 지원됨). 여러 전담 직원이 이 큐를 듣고 작업을 가져오고 작업을 완료합니다.
지연
특정 작업 실행을 지연시키고 싶다면 다음 작업을 사용할 수 있습니다. 일정 지연 시간이 지나면 작업은 대기열에 저장되어 게시/구독 작업처럼 실행됩니다.
루프
주기(시간, 일 등)로 메서드를 호출하려면 RecurringJob 클래스를 사용하세요. 복잡한 상황에서는 CRON 표현을 사용해 작업 처리 예정 시간을 지정할 수 있습니다.
연속
연속성은 여러 백그라운드 작업을 연결하여 복잡한 워크플로우를 정의할 수 있게 해줍니다.
공식 문서 링크:하이퍼링크 로그인이 보입니다.
(끝)
|