我是cron工作的新手,我想创建一个不会在周末运行的cron作业,例如周一至周五上午9:00一天一次.我不确定格式.任何建议或帮助请.
谢谢
如何使用C#/ .NET进行简单的作业调度?
假设我有一个方法(某个类),我想每天,每小时,每周等自动运行.
这样做有一个简单的方法吗?
该Chronos的网站提到的Chronos支持自定义Mesos执行人.Mesos示例显示如何编写自定义Mesos执行程序(master/src/examples/java/TestExecutor.java).但是,我无法找到有关如何通过Chronos RET API安排此类自定义执行程序的任何文档.任何关于此的帮助或指示将不胜感激.
提前致谢.
我想创建每天20:00运行 30 分钟的oracle 调度程序作业。此作业将从KPI_LOGS表中删除行,因为该表包含大量数据并且它会继续增长。我已经在 oracle sql developer 中为这样的工作创建了以下脚本,但不确定这是否正确,因为我是调度程序工作概念的新手。
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => '"RATOR_MONITORING"."CROP_KPI_LOGS"',
job_type => 'PLSQL_BLOCK',
job_action => 'DELETE FROM KPI_LOGS WHERE CAST(TIMESTAMP AS DATE) < (SYSDATE - 28);',
number_of_arguments => 0,
start_date => NULL,
repeat_interval => 'FREQ=DAILY;INTERVAL=30',
end_date => NULL,
enabled => FALSE,
auto_drop => FALSE,
comments => 'CROP_KPI_LOGS');
DBMS_SCHEDULER.SET_ATTRIBUTE(
name => '"RATOR_MONITORING"."CROP_KPI_LOGS"',
attribute => 'logging_level', value => DBMS_SCHEDULER.LOGGING_OFF);
DBMS_SCHEDULER.enable(
name => '"RATOR_MONITORING"."CROP_KPI_LOGS"');
END;
Run Code Online (Sandbox Code Playgroud) 目标:
研究:
代码片段:
#!/bin/bash
#SBATCH --job-name LEBT
#SBATCH --partition=angel
#SBATCH --nodelist=node38
#SBATCH --sockets-per-node=1
#SBATCH --cores-per-socket=1
#SBATCH --time 00:10:00
#SBATCH --output LEBT.out
# the slurm module provides the srun command
module load openmpi
srun -n 1 ./LU.exe -i 100 -s 100 &
srun -n 1 ./BT.exe &
wait
Run Code Online (Sandbox Code Playgroud)
手册页:
[srun]-->[https://computing.llnl.gov/tutorials/linux_clusters/man/srun.txt]
[mpirun]-->[https://www.open-mpi.org/doc/v1.8/man1/mpirun.1.php]
Run Code Online (Sandbox Code Playgroud) 我是相当新的,只是了解node.js(作为PHP开发人员的背景).我在nodejs网站上看过一些nodeJs的例子和视频.
目前我正在运行一个视频网站,在后台需要执行很多任务.目前这是由调用php脚本的cronjobs完成的.这种方法的缩减是当其他进程启动时,当前一个进程仍在工作时,您将在服务器上获得高负载等.
需要在服务器上完成的作业如下:
需要在将来完成的任务
我希望能够调用一个url,这样一份工作就可以排队,也可以按时间安排工作,也可以不断运行.
我不知道node.js是否是遵循的路径,这就是我在这里问的原因.在节点中执行此操作有什么好处?缩小?
node.js有什么专业人士?
谢谢你的回复!
让我们说我已经准备好Quartz.NET作为Windows服务,它当前正在运行(ADOJobStore运行时Sqlite).我需要在我的Windows应用程序上控制此服务,以便我可以停止它,启动它,添加和删除它的工作等.我如何获得此调度程序的实例?
对不起,如果这听起来像是一个简单的问题,但Quartz.NET的文档似乎还不够.只有少数人知道这一点,他们已经有了生命.
更新: 我的服务的quartz.config文件
# You can configure your scheduler in either <quartz> configuration section
# or in quartz properties file
# Configuration section has precedence
quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz
quartz.threadPool.threadCount = 10
quartz.threadPool.threadPriority = Normal
# job initialization plugin handles our xml reading, without it defaults are used
quartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz
quartz.plugin.xml.fileNames = ~/quartz_jobs.xml
quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz
quartz.scheduler.exporter.port = 555
quartz.scheduler.exporter.bindName = QuartzScheduler
quartz.scheduler.exporter.channelType = tcp
quartz.scheduler.exporter.channelName = httpQuartz
Run Code Online (Sandbox Code Playgroud)
我在我的程序中使用的代码来获取调度程序:
NameValueCollection properties = …Run Code Online (Sandbox Code Playgroud) 好吧,我们有贪婪的算法用于作业调度(调度最大作业数).我们可以使用不同的技术
我有前三个策略的反例,但我找不到第四个策略的反例.
这里是前三种方法的反例
最短的工作优先:
最早的开始时间:
首先是最小冲突的工作:
在这里,我们可以安排4个冲突3,4,4,3而不是3个冲突最小的工作,即2,3,3
那么,最后一个最早结束时间的反例是什么,首先我找不到这个的反例.那么,它总能为每组数据提供最佳解决方案吗?
更新1:
我有一个执行程序来执行作业,我想执行最大数量的作业.
我正在做一个计划项目,该项目定期执行多个作业。我正在使用cron调度,如下例所示。作业已成功执行,没有问题。但是,出于需求,我想计算并保留DB中计划作业的下一次运行时间。对于以下配置,是否有解决方案来获取作业的上一次和下一次启动时间?
配置示例:
import java.util.Date;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;
@Component
@EnableScheduling
public class DemoServiceBasicUsageCron
{
@Scheduled(cron="1,3,30,32 * * * * ?")
public void demoServiceMethod()
{
System.out.println("Curent date time is - "+ new Date());
}
}
Run Code Online (Sandbox Code Playgroud) 我正在实施Firebase Jobdispatcher,触发时间指定在10到20秒之间.这是我安排工作的代码:
public static void scheduleCompatibleJob(Context context) {
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(context));
Job myJob = dispatcher.newJobBuilder()
.setService(DataTrackerJobService.class) // the JobService that will be called
.setTag("api_trigger")
.setRecurring(true)
.setLifetime(Lifetime.FOREVER)
.setTrigger(Trigger.executionWindow(10, 20)) // 10 to 20 seconds
.setReplaceCurrent(true)
.setRetryStrategy(RetryStrategy.DEFAULT_LINEAR)
.setConstraints(Constraint.ON_ANY_NETWORK)
.build();
dispatcher.mustSchedule(myJob);
}
Run Code Online (Sandbox Code Playgroud)
和服务类:
public class DataTrackerJobService extends JobService {
@Override
public boolean onStartJob(final JobParameters job) {
Log.e("start job", "started " + job);
(new Handler()).postDelayed(new Runnable() {
@Override
public void run() {
Log.e("handler", "run");
jobFinished(job, true);
}
}, 2000);
return true; …Run Code Online (Sandbox Code Playgroud) job-scheduling ×10
c# ×2
.net ×1
algorithm ×1
android ×1
cpanel ×1
cron ×1
executable ×1
firebase ×1
greedy ×1
mesos ×1
mpi ×1
node.js ×1
oracle ×1
quartz.net ×1
sbatch ×1
scheduling ×1
slurm ×1
spring ×1
windows ×1