這是我的要求:
需要應用程序或任務,它以可配置的時間間隔(在Delphi中)以全天候運行。調度服務需要的建議
我到目前爲止所做的:
所以我決定去Windows服務。 然後我在Delphi中創建了windows服務。
過程是
1.創建的Windows服務啓動():
procedure TDemo.ServiceStart(Sender: TService; var Started: Boolean);
begin
MyServiceThread := TMyThread.Create(False); //Call the thread
MyServiceThread.Resume;
end;
2. Windows服務站();
procedure TDemo.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
MyServiceThread.Terminate;
end;
線程的Execute方法:
procedure TMyThread.Execute; begin MyTask(); end;
MyTask()有一些功能和它可能需要30秒到5分鐘的時間完成任務。
如果現在我開始服務,那麼它調用execute方法並調用MyTask()。然後我完成任務。它只會發生一次。因爲根本沒有循環。
然後我創建了任務調度程序和設置的10 分鐘的時間間隔,並調用其啓動我的Windows服務和 停止該批處理文件。
現在一切工作正常。每10分鐘我的任務就完成了。
什麼是所有其他的可能性,而不是任務計劃?服務本身可以做嗎?哪一個是最好的方法?
思考,發現一個解決方案:
1.Creating定時器線程內。但是Timer需要將時間設置爲Configurable one.It可能是一天或一週等等。什麼是Timer支持的最大時間?
定時器可以嗎?
是否有其他方法可以做到這一點?
請給我一些建議去尋求更好的解決方案。
爲什麼不使用系統的調度程序?爲什麼重新發明輪子? – 2014-08-27 08:06:08