我有一个被计划任务调用的应用程序.它从Windows Server 2003迁移到Windows Server 2008. 2003年,应用程序在可执行文件所在的目录中运行.在2008年Environment.CurrentDirectory(C#)报告它在C:\ Windows\System32中运行.如何设置运行目录?我正在使用schtasks.exe进行命令行部署.
UPD:通过界面,它似乎是动作编辑屏幕上的"开始(可选)"字段.
UPD:看起来使用XML文件可能有所帮助,但我希望没有它.
我在rails-3项目上使用Resque来处理计划每5分钟运行一次的作业.我最近做了一些事情,滚动了这些工作的创造,堆栈已经打了1000多个工作.我修复了导致许多作业排队的问题,现在我遇到的问题是错误创建的作业仍然存在,因此将作业添加到具有1000多个作业的队列中变得很难测试.我似乎无法阻止这些工作.我尝试使用flushall命令从redis-cli中删除队列,但它不起作用.我错过了什么吗?因为我似乎无法找到摆脱这些工作的方法.
从任务计划程序运行简单的PowerShell脚本时,我想将输出重定向到文件.
有一个关于这个题目很长的线程在这里,但其并不清楚,如果他们达到最终的最合适的解决方案.我很感兴趣,如果SO上的任何人也解决了这个问题,以及他们是如何做到的.
我目前正在尝试在我的Android应用程序中设置WiFi扫描,每隔30秒扫描一次WiFi接入点.
我已经使用Timer和TimerTask以我需要的间隔正确运行扫描.
但是我希望能够在用户按下按钮时停止并开始扫描,我当前无法停止然后重新启动Timer和TimerTask.
这是我的代码
TimerTask scanTask;
final Handler handler = new Handler();
Timer t = new Timer();
public void doWifiScan(){
scanTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
wifiManager.scan(context);
Log.d("TIMER", "Timer set off");
}
});
}};
t.schedule(scanTask, 300, 30000);
}
public void stopScan(){
if(scanTask!=null){
Log.d("TIMER", "timer canceled");
scanTask.cancel();
}
}
Run Code Online (Sandbox Code Playgroud)
所以Timer和Task启动正常并且扫描每30秒发生一次但是我不能让它停止,我可以停止Timer但是任务仍然发生并且scanTask.cancel()似乎也不起作用.
有一个更好的方法吗?或者我在Timer/TimerTask类中遗漏了什么?
我正在使用spring实现预定任务,我看到有2个类型的配置时间,从最近再次安排工作.2配置这个配置有什么不同.
@Scheduled(fixedDelay = 5000)
public void doJobDelay() {
// do anything
}
@Scheduled(fixedRate = 5000)
public void doJobRate() {
// do anything
}
Run Code Online (Sandbox Code Playgroud) 我想每天下午2点执行一份工作.java.util.Timer我可以用哪种方法安排工作?
2小时后,它将停止工作并重新安排在第二天下午2点.
最简单的方法是使用以下命令创建批处理文件:
NET stop <service name>
NET start <service name>
Run Code Online (Sandbox Code Playgroud)
创建并测试批处理文件后,将其添加到Windows任务计划程序并以特定时间间隔运行它.这里的问题是,当bat文件丢失或损坏时,服务将不会重新启动.那么,是否有其他方法以特定的时间间隔重新启动服务?
我正在使用Windows 10任务调度程序来运行需要我使用我的个人用户帐户的任务(由于权限问题,我必须使用我的用户而非系统用户 - 我是组织的一部分).在Windows 7计算机中,一切正常,但是当我们升级到赢得10时,我无法在不使用系统用户的情况下运行任务(如前所述,由于权限不起作用).我收到以下错误
附加数据:错误值:2147943726
所有我在网上找到的建议是使用系统用户其他什么都没有:-(
请保存我的一天.
这是我想要更改的设置的图片.
我有一个非常IO密集的计划任务(删除数十万个文件).出于磁盘空间原因,必须快速执行此作业.在win2k8上,计划任务的IO优先级始终较低.提高流程的优先级并未改变IO优先级.有没有办法让计划任务具有正常的IO优先级?
我需要在交互式应用程序中管理CPU繁重的多任务作业.同样背景,我的具体应用是工程设计界面.当用户调整模型的不同参数和选项时,会在后台运行多个模拟,并在完成时显示结果,即使用户仍在编辑值时也是如此.由于多次模拟需要可变时间(有些是几毫秒,有些需要5秒,有些需要10分钟),所以基本上是尽可能快地显示反馈,但通常会中止以前开始但现在不再需要的作业,因为用户的更改已经使它们无效.不同的用户更改可能使不同的计算无效,因此在任何时候我可能有10个不同的模拟运行.
我非常有信心处理这种应用程序的代码级方法是某种多线程作业队列.这将包括提交作业以执行,设置任务优先级,等待作业完成,指定依赖项(执行此作业,但仅在作业X和作业Y完成后),取消符合某些条件的作业子集,查询内容的功能工作仍然存在,设置工作线程计数和优先级等等.多平台支持也非常有用.
这些不是软件中的新想法或愿望,但我处于应用程序的早期设计阶段,我需要选择用于管理此类任务的库.我过去在C中编写了我自己的粗线程管理器(我认为这是一个通过的仪式)但我想使用现代工具来开展我的工作,而不是我以前的hacks.
首先想到的是运行OpenMP,但我不确定这是我想要的.OpenMP非常适合在精细级别进行并行化,自动展开循环等.虽然是多平台,但它也会用#pragmas侵入您的代码.但主要是它不是为管理大型任务而设计的.尤其是取消挂起的作业或指定依赖项.可能,是的,但它并不优雅.
我注意到Google Chrome使用这样的作业管理器来完成最琐碎的任务.设计目标似乎是保持用户交互线程尽可能轻巧灵活,因此任何可以异步生成的东西都应该是.从查看Chrome源代码来看,这似乎不是一个通用库,但看看设计如何使用异步启动来保持交互速度仍然很有趣.这与我正在做的类似.
还有其他选择:
Surge.Act:用于定义作业的类似Boost的库.它建立在OpenMP之上,但允许链接依赖项,这很好.它似乎并不觉得它有一个可以查询的经理,取消工作等等.这是一个陈旧的项目所以依赖它是可怕的.
Job Queue非常接近我的想法,但它是一篇5年前的文章,而不是受支持的库.
Boost.threads确实有很好的平台独立同步,但那不是一个职业经理.POCO具有非常干净的任务启动设计,但同样不是链接任务的完整经理.(也许我低估了POCO).
因此,虽然有可用的选项,但我不满意,我觉得再次推出自己的库的冲动.但我宁愿使用已经存在的东西.即使在搜索之后(这里在SO和网上)我也没有发现任何感觉正确的东西,尽管我认为这必须是一种经常需要的工具,所以肯定有一些社区库或至少是常见的设计.在SO上有关于工作队列的一些帖子,但似乎没有任何东西适合.
我在这里的帖子是问你所有我错过的现有工具,和/或你如何推出自己的多线程作业队列.
scheduled-tasks ×10
java ×2
schtasks.exe ×2
timer ×2
windows ×2
android ×1
c++ ×1
line-endings ×1
powershell ×1
redis ×1
resque ×1
service ×1
spring ×1
threadpool ×1
windows-10 ×1