这是我的要求:
需要应用程序或任务,它以可配置的时间间隔(在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