c# quartz 예제

avatar
| Uncategorized

https://www.quartz-scheduler.net/documentation/quartz-3.x/tutorial/index.html 석영으로 작업 일정에 대해 자세히 알아볼 수 있습니다. theapp.config에서 `석영` 섹션 또는 기타 적합한 이름을 정의할 수 있으며, 해당 섹션에서는 석영 설명서에서 찾을 수 있는 구성 옵션을 제공합니다. 다음으로 트리거가 만들어집니다. 앞에서 설명했듯이 트리거는 작업을 실행할 시기를 정의합니다. 이 경우 일정은 자정에 매일 시작하여 24시간의 간격으로 지정됩니다. 그것은 매일 실행하는 것입니다. 트리거 일정에 대한 옵션은 매우 유연하여 일정과 정기적인 시간 기반 간격으로 일정을 예약할 수 있습니다. 다음은 설명서에서 가져온 트리거의 또 다른 예입니다. 실제로 이 코드는 자체 클래스일 필요도 없습니다. 스케줄러를 시작하려는 모든 위치에 배치할 수 있습니다. 일반적으로 웹 응용 프로그램에서는 Global.asax의 Application_Start 이벤트에 참여합니다.

이 예제에서는 실제 코드가 Start라는 메서드에 배치되었습니다(이름은 아무 것도 지정할 수 있음). 스케줄러가 만들어지고 처음 두 줄에서 시작됩니다. 그런 다음 T가 생성할 작업 유형인 JobBuilder.Create 메서드를 Quartz.NET 사용하여 작업이 만들어집니다. 이 경우 이전에 정의된 EmailJob의 인스턴스입니다. 그런 다음 `석영`을 검색하고 Quartz.NET 찾을 때 설치를 클릭합니다. Quartz는 가장 작은 앱에서 대규모 엔터프라이즈 시스템에 이르기까지 사용할 수 있는 완벽한 기능을 갖춘 오픈 소스 작업 스케줄링 시스템입니다. C#으로 작성된 순수 .NET 라이브러리이며 매우 인기 있는 오픈 소스 Java 작업 스케줄링 프레임워크의 포트입니다. 석영이 제공하는 훌륭한 기능에 대해 자세히 알아보려면 https://www.quartz-scheduler.net/features.html 방문하십시오. 실용적인 예제를 통해 이해할 수 있는 간단한 프로그램을 만들어 보겠습니다.

여기서는 C#에서 간단한 Windows.Forms 응용 프로그램을 만들 것입니다. 나는 당신의 프로젝트가 개발을위한 준비가 되어 있다고 가정합니다. Execute 메서드는 IJobExecutionContext 개체를 매개 변수로 사용합니다. 스케줄러는 작업의 Execute 메서드를 호출할 때 이를 전달합니다. 작업에 대한 구성 데이터가 포함되어 있습니다(나중에 설정). 이 간단한 예제에서는 컨텍스트의 데이터를 사용하지 않습니다. 이 예제는 실제로 전자 메일 메시지를 보내는 것입니다. 메서드 본문에는 원하는 모든 것이 포함될 수 있습니다. 예를 들어 데이터베이스를 쿼리하고 데이터베이스를 찾은 모든 받는 사람에게 전자 메일을 보낼 수 있습니다. 그러나 그 자체로, 작업은 아무것도하지 않습니다. 작업은 클래스입니다.

석영과 함께 작동하려면 하나의 멤버인 Execute 메서드가 있는 석영 IJob 인터페이스를 구현해야 합니다.