|
제 사견입니다. 미흡한 내용은 적당히 흘려 들어주시면 좋을 듯 합니다.
1.
지금 현재 겪고 계신 문제 상황은 윈도의 스케줄러가 제대로 작동하지 않는 게 아니라 작동중 오동작이 일어나는 게 문제인 듯 싶습니다. 해서 생각하신 부분이 윈도의 스케줄러를 대신할 수 있는 스케줄러를 직접 짜시겠다는 걸로 생각됩니다만, 직접 작성하신 스케줄러가 윈도 스케줄러를 대신할 만큼 신뢰도 높을거라고는 생각되지 않습니다.
일종의 스케줄러를 작성하시기 위해서는 "서비스"로 작성하셔야 됩니다. c++ builder나 delphi 환경에서는 비교적 쉽게 작성할 수 있습니다만, 이것저것 번거로워집니다.
2.
제 경험상 윈도 스케줄러가 오동작하는 경우는 없었던 듯 합니다. 다만 네트워크 상의 문제나 기타 문제에 의해 원하는 실행파일이 실행되었음에도 제대로된 동작을 하지 않는 경우가 일반적인 경우인 듯 싶습니다.
이런 경우 당연히 실행되어야 할 작업이 오동작하게 된 원인을 찾아서 해결하는게 우선시 되어야 하지 않을까 생각됩니다. 필요한 경우 배치 파일로 구성된 작업들을 하나의 단일한 프로그램에서 해결할 수 있도록 직접 개발하셔서 단일한 실행파일 하나만으로 제작하시는 것도 가능할 겁니다. 제 경우에는 단일 프로그램을 구축하고 로그나 메일 발송을 통해 작업 결과를 확인하는 식으로 구축했던 경우도 있습니다.
3.
외부 실행파일을 실행하는 함수는 당연히 존재합니다. 동일한 환경인지 여부는 직접 테스트 코드를 작성하셔서 테스트해보시는게 가장 바람직할 겁니다. 작성하시는 코드에 따라 어떤식으로 동작할지는 아무도 보장할 수 없기 때문입니다. 다만, 제 경우에는 외부 실행파일을 실행시 직접 실행한 것과 어떠한 형태로든지 다른 식으로 동작하는 것 같은 경우는 목격한 바가 없었습니다. 기타 콤퍼넌트도 한 번 직접 테스트 해보시는게 어떨까 생각됩니다.
bluewing 님이 쓰신 글 :
: 본래 Win 2003서버에서 스케쥴러로 돌리던 시스템이 있습니다.
: 정해진 시간이 되면 조건에 따라 순차적으로 여러개의 프로그램을 돌려야 하는데..
: 문제는 때때로 제대로 실행되지 못하거나 예상치 못하게 프로그램이 죽는 경우가 생긴다는 거죠.
:
: 때문에 일종의 스케쥴러 프로그램을 직접 C++빌더로 작성하려 합니다.
: 시간이 되면 OS에게 *.BAT화일을 실행하도록 DOS명령어를 날리려 하는데...
: ( C함수의 system("commandname");을 써보려고 합니다. )
:
: 이렇게 실행시켜도 사용자가 직접 BAT화일을 클릭해서 실행시킨 것과
: 동일한 환경자원(가용 메모리 등등)으로 실행될 수 있을까요?
:
: 아니면 어떤 차이가 생길 수 있는지 궁금합니다.
:
: PS. C++ Builder에서 ICMP component란 것을 사용할 수 있다고 하던데,
: Free버전(Turbo C++)에도 포함되어 있나요? 또 이걸로 bat화일을 실행시킬 경우
: 사용자가 직접 bat화일을 클릭해 실행시키는 것과 어떤 차이가 있을지 궁금합니다.
|