2013-05-15 9 views
2

.NET 4 콘솔 응용 프로그램을 실행할 때 SAP에 대한 R3Connection을 사용하여 ERPConnect를 사용하여 데이터 요청을 만들고 변환 된 데이터를 동일한 SQL Server 데이터베이스로로드하기 전에 SQL Server 데이터베이스에서 일부 매핑 데이터를 가져옵니다..NET 응용 프로그램을 매일 실행하도록 예약하려면 어떻게해야합니까?

나는 이것을 매일 실행하도록 요청 받았다.

누구에게 이것이 수행되어야하는지에 대한 권장 사항이 있습니까?

내 초기 생각은 다음과 같습니다 .BAT 파일 및 Windows 작업 스케줄러 또는 Windows PowerShell을

당신이 다른 통해 하나를 선택 왜 사람이 어떤 제안이나 이유가 있습니까?

+5

작업 스케줄러는 작업을 수행하는 표준 방법입니다. –

+1

작업 스케줄러가 올바른 방법입니다. 온라인 24/7 서버 ** - ** 아닙니다 **! – alroc

답변

8

나는 Windows Task Scheduler을 사용하고 작업을 예약합니다. 이는 간단하고 쉽게 재구성 가능한 접근법이며 콘솔 응용 프로그램을 직접 실행하도록 구성 할 수 있습니다 (배치 파일이 필요 없음).

이점은 시스템의 일정을 구성하기 만하면 언제든지 시간이나 빈도 등의 일정을 변경할 수 있다는 것입니다.

2

Windows 작업 스케줄러와 배치 파일을 사용하여 작업하는 것이 좋습니다. 하지만 배치 파일이 실제로 필요합니까? WTS에서 호출되는 많은 응용 프로그램이 있으며 응용 프로그램을 직접 호출 할 수 있습니다. 난 배치 파일에 대한 필요성을 제거 할 수 있도록 콘솔 애플 리케이션을 변경하는 것이 좋습니다.

+0

제안 해 주셔서 감사합니다. 네가 필요 없다면 네가 옳다. 나는 그것을 원하지 않는다. 이 일을하는 모든 기본적인 함정? – Pricey

+0

컴퓨터를 켜고 서비스를 실행해야합니다. 누락 된 작업을 따라 잡을 수 없습니다. – Jarrod

0

Windows 작업 스케줄러를 사용하는 것처럼 간단하게 작동합니다. SAP와 같은 ERP 시스템을 다루기 시작한 이래로 우리가 한 일은 내가 테이블을 치고 그 테이블 안에있는 윈도우 서비스를 만들어서 간격과 다음 실행 날짜를 기반으로 시작하려는 어셈블리 및 클래스 이름의 목록입니다. . 리플렉션을 사용하여 어셈블리의 클래스를 호출합니다.이 클래스는 nextrun 날짜 시간을 기준으로 현재 날짜 시간과 비교하여 실행해야합니다. 또한 각 클래스는 nameValueCollection을 허용하므로 각 클래스에 XML 열을 만들어 구성 설정을 각 클래스에 즉시 전달할 수 있습니다. 내가해야 할 일은 서비스를 중지하거나 다시 시작하지 않고도 새로운 설정을 적용하고 다음 열을 업데이트하는 것뿐입니다. 콘솔 앱이 실행될 때마다 설정 파일을 가져 와서 기본적으로 동일한 작업을 수행 할 수 있음을 인정합니다 (Windows 작업 관리자를 사용하는 경우 작업을 수행하는 것이 좋습니다). 이것은 PRD가 내려 가고 사용자가 QAS 또는 dev 시스템으로 빠르게 응용 프로그램을 가리 키거나 사용자 이름과 암호를 유지해야하는 경우에 유용합니다 (그렇게 할 경우 암호화 할 것입니다). 또한 데이터 기반 백엔드를 사용하면 비즈니스 분석자가 특정 작업을 일부 제어 할 수 있어야하는 경우 프론트 엔드를 구축 할 수 있습니다. 그것은 많은 일처럼 들릴지 모르나 실제로는 그렇지 않습니다.

참고 : XP에서는이 기능을 설정하지 않았을 가능성이 있지만 WTS cryptoservice (확실하지 않은 cryptoservice는 100 % 정확함)를 여러 번 보았습니다. 그 라인.) 손상되고 예약 된 작업이 실패하고 엉망이 될 수 있습니다. SAP가 SAP에서 파일을 가져 오는 RFC 및 실행중인 작업을 예약 한 작업이 실행되고 때로는 이러한 작업이 실패하고 RFC가 다시 시작되지 않고 모든 종류의 문제가 발생할 수 있습니다.

1

당신은 단순히 상당히 PowerShell을에서 예약 된 작업을 설정할 수 있습니다

Register-ScheduledJob -FilePath \\svr\share\foo.ps1 -Trigger @{Frequency=Daily;At="9:00PM"} -ScheduledJobOption @{WakeToRun} 

이 PowerShell을 v3의를 필요로 않습니다. 그 뒤에는 작업 스케줄러가 사용됩니다. PowerShell 스크립트 실행에 해당하지 않는 등록 작업에 대한 Register-ScheduledTask cmdlet도 있습니다.

작업 스케줄러 UI를 사용하여 수동으로 수행할지 또는 스크립트로 자동화할지 여부는 이것이 한 번 설정인지 (수동으로 진행되는지) 아니면 한 대의 컴퓨터 또는 여러 대의 컴퓨터에서 작업 설정을 반복해야하는지에 따라 다릅니다 그것을 자동화하십시오).

관련 문제