c# quartz 예제

Comments 0 by
August 2, 2019

나는이 일이 JobScheduler 일어나는 클래스를 호출했습니다,하지만 아무것도 호출 할 수 있습니다. 실제로 이 코드는 자체 클래스일 필요도 없습니다. 스케줄러를 시작하려는 모든 위치에 배치할 수 있습니다. 일반적으로 웹 응용 프로그램에서는 Global.asax의 Application_Start 이벤트에 참여합니다. 이 예제에서는 실제 코드가 Start라는 메서드에 배치되었습니다(이름은 아무 것도 지정할 수 있음). 스케줄러가 만들어지고 처음 두 줄에서 시작됩니다. 그런 다음 T가 생성할 작업 유형인 JobBuilder.Create 메서드를 Quartz.NET 사용하여 작업이 만들어집니다. 이 경우 이전에 정의된 EmailJob의 인스턴스입니다. 작업은 클래스입니다. 석영과 함께 작동하려면 하나의 멤버인 Execute 메서드가 있는 석영 IJob 인터페이스를 구현해야 합니다. 이 메서드는 수행할 작업을 정의합니다. 다음은 작업의 예입니다: 다음으로 트리거가 만들어집니다. 앞에서 설명했듯이 트리거는 작업을 실행할 시기를 정의합니다.

이 경우 일정은 자정에 매일 시작하여 24시간의 간격으로 지정됩니다. 그것은 매일 실행하는 것입니다. 트리거 일정에 대한 옵션은 매우 유연하여 일정과 정기적인 시간 기반 간격으로 일정을 예약할 수 있습니다. 다음은 설명서에서 가져온 트리거의 또 다른 예입니다 https://www.quartz-scheduler.net/documentation/quartz-3.x/tutorial/index.html. 실용적인 예제를 통해 이해할 수 있는 간단한 프로그램을 만들어 보겠습니다. 여기서는 C#에서 간단한 Windows.Forms 응용 프로그램을 만들 것입니다. 나는 당신의 프로젝트가 개발을위한 준비가 되어 있다고 가정합니다. Execute 메서드는 IJobExecutionContext 개체를 매개 변수로 사용합니다.

스케줄러는 작업의 Execute 메서드를 호출할 때 이를 전달합니다. 작업에 대한 구성 데이터가 포함되어 있습니다(나중에 설정). 이 간단한 예제에서는 컨텍스트의 데이터를 사용하지 않습니다. 이 예제는 실제로 전자 메일 메시지를 보내는 것입니다. 메서드 본문에는 원하는 모든 것이 포함될 수 있습니다. 예를 들어 데이터베이스를 쿼리하고 데이터베이스를 찾은 모든 받는 사람에게 전자 메일을 보낼 수 있습니다. 그러나 그 자체로, 작업은 아무것도하지 않습니다. 그런 다음 `석영`을 검색하고 Quartz.NET 찾을 때 설치를 클릭합니다. Quartz는 가장 작은 앱에서 대규모 엔터프라이즈 시스템에 이르기까지 사용할 수 있는 완벽한 기능을 갖춘 오픈 소스 작업 스케줄링 시스템입니다. C#으로 작성된 순수 .NET 라이브러리이며 매우 인기 있는 오픈 소스 Java 작업 스케줄링 프레임워크의 포트입니다. 석영이 제공하는 훌륭한 기능에 대해 자세히 알아보려면 https://www.quartz-scheduler.net/features.html 방문하십시오. theapp.config에서 `석영` 섹션 또는 기타 적합한 이름을 정의할 수 있으며, 해당 섹션에서는 석영 설명서에서 찾을 수 있는 구성 옵션을 제공합니다.

IScheduler 인스턴스의 설정/구성은 매우 사용자 정의할 수 있습니다. 자세한 내용은 석영 공식 페이지에서 온라인으로 확인할 수 있습니다. 나는 석영에 상당히 만족했다, 나는 확실히 더 큰, 대담한, 나쁜 일정 요구가있을 때, 그것을 더 많이 사용할 것입니다. 그래서, 신뢰할 수있는 결과는 마지막에 나온다. 그리고이 스케줄러가 잘 작동하고 주어진 시간에 완벽하게 작업을 실행하는 것을 볼 수 있습니다. 신뢰할 수 있는 정확도로 ASP.NET 응용 프로그램의 일부로 일정에 따라 작업을 실행해야 하고 서버에서 직접 다양한 일정 옵션에 액세스할 수 없거나 Windows 작업 스케줄러를 어지럽게 하는 대안을 원할 Quartz.NET 훌륭한 솔루션. 위에 제공된 코드 목록을 참조하십시오. 트리거 인스턴스를 만들 때 트리거의 이름과 그룹이 어떻게 지정되었는지 설명합니다.