我正在Ruby中为我的工作编写一个作业调度应用程序(主要是在给定频率下使用各种协议移动文件)
我的主循环看起来像这样:
while true do
# some code to launch the proper job
sleep CONFIG["interval"]
end
Run Code Online (Sandbox Code Playgroud)
它的工作就像一个魅力,但我不确定它是否足够安全,因为应用程序可能在运行cpu密集型软件的服务器上运行.
还有另一种方法可以做同样的事情,或者sleep()在我的情况下是否足够安全?
我正在考虑编写一个Windows服务,它将在用户指定的时间打开或关闭某个功能(使用我将提供的配置实用程序).基本上,用户将指定PC将进入"仅工作"模式(阻止Facebook和其他分散注意力的站点)的某些时间,然后当这些时间到来时,PC将返回到正常模式.
我已经想出了一些方法来创建"仅限工作"模式,但我正在努力的是如何知道何时进出该模式.我真的不想使用线程和计时器,如果我可以避免它,因为这似乎会产生大量的开销,所以我正在寻找的将是某种方式:
有谁知道最好的方法吗?
我有Windows UAC,计划任务和名为"dbupdate.exe"的可执行文件的问题.我对源代码,清单等有充分的权力,但不能超过用户系统(简称:普通软件工程师;-).语言是德尔福,但我认为不应该重要.
我在Windows Vista和Windows 7中的任务调度程序中使用应用程序时遇到问题.该程序名为dbUpdate.exe.它内置了一个xp/vista清单,它配置程序应该"asInvoker"启动.
现在,在vista和Windows 7中我可以毫无问题地启动程序,但我必须登录系统.如果我没有登录,程序不会执行(我使用Windows任务调度程序,但我知道其他调度程序也存在问题).但是:如果我将程序重命名为"dbBlaBla.exe",它将被执行.引导我说,UAC安装程序检测认为我的程序是一个安装程序(它不是,但我知道它看起来像更新,设置等文件名).
我在网上搜索,找不到很多有用的东西.所以我在这里问
我是否必须创建一个特殊的清单才能在预定的作业中执行它?或者有没有办法为计划作业或仅为我的可执行文件禁用UAC?或者我真的必须选择另一个名称(然后它会起作用,如前所述)并冒冒险,客户和我的同事对此不是很满意?$
谢谢你的帮助,问候
我想找一个用户空间工具(最好是在Python中 - 禁止在任何我可以轻易修改的内容,如果它还没有我需要的那样)来替换我一直在使用的那个短脚本以下两件事:
例如,使用我当前的脚本,我可以在python提示符下
>>> import hosts
>>> hosts.run_commands(['users']*5)
Run Code Online (Sandbox Code Playgroud)
或者从命令行
% hosts.py "users" "users" "users" "users" "users"
Run Code Online (Sandbox Code Playgroud)
运行该命令users5次(通过从配置文件中检查至少5台计算机上的cpu负载和可用内存,找到可以运行该命令的5台计算机).除了我刚刚运行的脚本之外,应该没有作业服务器,并且在运行这些命令的计算机上没有工作人员守护程序或进程.
我还希望能够跟踪作业,在失败时再次运行作业等,但这些是我实际上并不需要的额外功能(在实际作业调度程序中非常标准).
我找到了很好的Python ssh库,比如classh和PuSSH,它们没有我想要的(非常简单的)负载均衡功能.在我想要的另一边是Condor或Slurm,正如我在澄清之前所说的那样,我想要更轻松的东西.那些会以正确的方式做事,但是通过阅读它们,它们听起来就像在用户空间中将它们旋转起来只有在我需要它们时才会让人烦恼.这不是专用群集,我在这些主机上没有root访问权限.
我目前正计划使用一个包装器周围的包装器,当我需要知道如果我找不到其他东西时他们有多忙时,会对计算机进行一些基本的轮询.
如果循环调度程序的时间片非常大(比如太大),我应该在操作系统中获得什么样的性能影响?
我唯一的想法是,需要大量时间的流程会受益,但大多数流程会占用少量时间,因此会导致延迟完成所有较小的流程?
示例:时间片为50,过程P1 = 400,P2 = 10,P3 = 150,P4 = 20,P5 = 10,P6 = 10
这是我最好的猜测我想知道,如果时间片太小或太大,你们有什么可以分享的.
我正在开发预定服务。
该应用程序是使用 JDK 1.6、Spring Framework 2.5.6 和 Quartz 1.8.4 开发来调度作业的。
我有两个带有 WebLogic Server 10.3.5 的集群服务器。
有时似乎石英的调度变得疯狂。分析它发生的条件,集群服务器之间似乎有一个大于一秒的时钟“不同步”。然而,这种不同步并不总是由于服务器的系统时间,有时看起来即使机器的时钟同步,JVM也会引入一点“延迟”。
有没有人遇到过同样的问题?有办法解决吗?
提前致谢
是否有可能(如果是这样:如何)在camunda BPM中向jobexecutor添加自定义作业?我的要求是通过Timer或Loop执行与进程相关的Service.我不想直接在BPMN中对此进行建模,因为它实际上并不是流程的一部分.我可以启动只包含一个异步服务任务的其他任意进程来实现这一目标,但我更愿意直接向作业队列添加一个包含SOAP/REST/RMI调用的方法调用,而无需额外的努力.以前有人试过吗?
是否有任何带有REST API的开源Job Scheduler用于商业用途,它将支持以下功能:
帮助将不胜感激:)
我在集群环境中使用Quartz Scheduler作为Spring bean.
我有一些使用@NotConcurrent注释的作业,它们每个集群运行一次(即仅在一个节点中运行,仅在一个线程中).
现在我需要在集群的每个节点上运行一个作业.我删除了@NotConcurrent注释,但它只在一台机器上的每个线程上运行.它不会在其他节点上被触发.
我应该用什么来诠释这份工作?
示例:Job1 NotConcurrent annotated安排在午夜=>它每隔午夜只在一台机器上触发.Job2注释安排在午夜=>它每隔午夜在每台机器上启动.
谢谢.
java spring cluster-computing quartz-scheduler job-scheduling
我试图通过使用Windows任务计划程序自动化VBScript.但是,我尝试使用cscript.exe+ "C:\...\script.vbs"但它没有运行.我也尝试在CMD(cscript.exe "C:\...\script.vbs")中直接运行相同的命令,并且它有效.
可能是什么问题?
编辑:
我只是尝试将设置切换为"Run only when user is logged on","Run whether user is logged on or not"并且工作正常.我想知道是否有办法让我的任务计划运行,即使用户已注销.
job-scheduling ×10
java ×3
scheduler ×2
automation ×1
c ×1
c# ×1
camunda ×1
condor ×1
multitasking ×1
python ×1
rest ×1
round-robin ×1
ruby ×1
scheduling ×1
spring ×1
ssh ×1
uac ×1
vbscript ×1
windows ×1
windows-7 ×1
workflow ×1