我想编写一个执行以下操作的批处理文件:
到目前为止我用Google搜索的代码示例结果不起作用,所以我决定不发布它们.
通过以下方式启动服务:
net start "SERVICENAME"
Run Code Online (Sandbox Code Playgroud)
我有一个用C#(.NET 1.1)编写的服务,并希望它在每晚的午夜执行一些清理操作.我必须保留服务中包含的所有代码,那么最简单的方法是什么?使用Thread.Sleep()和检查滚动的时间?
使用Windows Server 2008,如何捕获使用Windows任务计划程序运行的脚本的输出?
我正在测试一个相当长的自定义打印批处理脚本,出于调试目的,我希望每晚都能看到它的所有输出.
我创建了一个Kubernetes预定作业,根据其日程安排每天运行两次.但是,我想手动触发它以进行测试.我怎样才能做到这一点?
如何运行每个脚本,比如30分钟?我假设不同的操作系统有不同的方法.我正在使用OS X.
我搜索了SO并找到了关于Quartz.net的答案.但它似乎对我的项目来说太大了.我想要一个等效的解决方案,但更简单和(最好)代码内(不需要外部库).如何在特定时间每天调用一种方法?
我需要添加一些关于此的信息:
我想要一种更有效的方法来做到这一点,不需要经常检查时间,并且我可以控制是否完成了工作.如果方法失败(由于任何问题),程序应该知道写入日志/发送电子邮件.这就是我需要调用方法而不是安排工作的原因.
我发现这个解决方案在Java中用Java定时调用一个方法.在C#中是否有类似的方式?
编辑:我做到了这一点.我在void Main()中添加了一个参数,并创建了一个bat(由Windows Task Scheduler安排)以使用此参数运行程序.程序运行,完成工作,然后退出.如果作业失败,则能够写入日志和发送电子邮件.这种方法很符合我的要求:)
我已经编写了一些我通过Windows任务调度程序运行的C#应用程序.它们正在成功运行(我可以从他们正在编写的日志文件中看到)但是Windows任务调度程序显示它们返回的最后一次运行结果0xE0434352.我在C#应用程序中需要做些什么才能将成功代码返回给Windows任务调度程序?
我有几个用@Scheduled注释的方法(fixedDelay = 10000).
在应用程序上下文中,我有这个注释驱动设置:
<task:annotation-driven />
Run Code Online (Sandbox Code Playgroud)
问题是,有时一些方法执行会延迟几秒甚至几分钟.
我假设即使方法需要一段时间才能完成执行,其他方法仍然会执行.所以我不明白延迟.
有没有办法可以减少甚至消除延迟?
我正在尝试安排我的C#程序在Windows调度程序上运行.我正在使用Windows 7专业版.
我可以创建任务安全选项集来运行,无论用户是否登录,赋予它高权限,它是在我有权访问的远程路径上启动exe.
"错误价值:2147943785"您的帮助将不胜感激.
这是错误的XML
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Microsoft-Windows-TaskScheduler" Guid="{DE7B24EA-73C8-4A09-985D- 5BDADCFA9017}" />
<EventID>101</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>101</Task>
<Opcode>101</Opcode>
<Keywords>0x8000000000000001</Keywords>
<TimeCreated SystemTime="2013-01-10T12:44:20.882178000Z" />
<EventRecordID>51522</EventRecordID>
<Correlation />
<Execution ProcessID="652" ThreadID="1892" />
<Channel>Microsoft-Windows-TaskScheduler/Operational</Channel>
<Computer>pcb.co.za</Computer>
<Security UserID="S-1-5-18" />
</System>
- <EventData Name="TaskStartFailedEvent">
<Data Name="TaskName">\Naedo</Data>
<Data Name="UserContext">Domanin\User31r</Data>
<Data Name="ResultCode">2147943785</Data>
</EventData>
</Event>
Run Code Online (Sandbox Code Playgroud) 目前我有这个:
@Scheduled(fixedRate=5000)
public void getSchedule(){
System.out.println("in scheduled job");
}
Run Code Online (Sandbox Code Playgroud)
我可以更改它以使用对属性的引用
@Scheduled(fixedRate=${myRate})
public void getSchedule(){
System.out.println("in scheduled job");
}
Run Code Online (Sandbox Code Playgroud)
但是,我需要使用以编程方式获得的值,以便可以在不重新部署应用程序的情况下更改计划.什么是最好的方法?我意识到使用注释可能是不可能的......
scheduled-tasks ×10
c# ×3
batch-file ×2
java ×2
spring ×2
.net ×1
capture ×1
cron ×1
kubernetes ×1
macos ×1
methods ×1
scheduling ×1
shell ×1
task ×1
time ×1
windows ×1
winforms ×1