`

每次任务 创建 一个 Scheduler,运行完直接shutdown ,同时运行不相互影响.

阅读更多

创建Scheduler 不相互影响

用默认工厂类获取scheduler 实例 code 如下:

StdSchedulerFactory schf = newStdSchedulerFactory();

scheduler = schf.getScheduler();

但多次初始化:

 

例如

List list = new ArrayList();

for(int i = 0;i<10;i++)

 

{

StdSchedulerFactory schf =newStdSchedulerFactory();

scheduler= schf.getScheduler();

list .add(scheduler);

 

}

但是获取都是一个默认的Scheduler.即调用getDefaultScheduler

 

若需要获得不同的scheduler for中代码如下

 

Properties props = new Properties();

props.put("org.quartz.scheduler.instanceName", i+"");// 不同name

props.put("org.quartz.threadPool.class","org.quartz.simpl.SimpleThreadPool");

props.put("org.quartz.threadPool.threadCount","10");

StdSchedulerFactory schf = new StdSchedulerFactory();

schf.initialize(props);

scheduler = schf.getScheduler();

 

 

Scheduler 可以经过默认的配置文件 设置Scheduler name.由此不同实例里的Scheduler

是不同的,一个Scheduler.shutdown 不再会相互影响.

 

第二. 灵活配置time

例子如下:

 

private Scheduler scheduler;

    // public SchedulerUtil() throws SchedulerException
    // {
    // StdSchedulerFactory schf = new StdSchedulerFactory();
    // scheduler = schf.getScheduler();
    // }

    public SchedulerUtil(String name) throws SchedulerException
    {
        Properties props = new Properties();
        props.put("org.quartz.scheduler.instanceName", name);
        props.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
        props.put("org.quartz.threadPool.threadCount", "10");
        StdSchedulerFactory schf = new StdSchedulerFactory();
        schf.initialize(props);
        scheduler = schf.getScheduler();

    }

    JobDetail jb1 = new JobDetail("job_1", "group_1", SimpleJob.class);
    
    public void taskRun()throws Exception
    {
        CronTrigger ct = new CronTrigger("trigger", "group");
        ct.setCronExpression("0/1 * * * * ?");
        scheduler.scheduleJob(jb1, ct);
        scheduler.start();
    }
    public void modifyTaskTime()throws Exception
    {
        CronTrigger ct = (CronTrigger) scheduler.getTrigger("trigger", "group");
        ct.setCronExpression("0/3 * * * * ?");
        scheduler.deleteJob("job_1", "group_1");
        scheduler.scheduleJob(jb1, ct);
    }</span>



 

 

分享到:
评论

相关推荐

    开源调度框架dolphinscheduler,2台机器上运行的任务无法立即停止,另外1台机器运行的任务可以立即停止

    dolphinscheduler分布式部署,有3个worker节点,3个master节点 操作:分别停止215、216、217运行的工作流实例 如图: 点击停止按钮 3. 现象:215、216机器上的任务一直运行中,217机器上的任务kill状态 如图 4. ...

    C#利用Interop.TaskScheduler.dll添加删除计划任务

    C#利用Interop.TaskScheduler.dll添加删除计划任务,可实现程序随Windows系统自动启动; 项目用VS2017打开,需要.net 2.0支持,需要管理员权限;支持win7 win10;不支持xp。

    windows定时执行任务的工具 System Scheduler free.rar

    1. **多任务管理**:用户可以创建多个任务,每个任务都可以设置独立的触发条件和执行操作,满足不同场景的需求。 2. **灵活的触发器**:支持按时间(如每天、每周、每月)、事件(如系统启动、登录)或者组合条件来...

    dolphinscheduler 3..2.0 bin文件

    5. `webapp`目录:存储了前端Web应用资源,用户可以通过浏览器访问DolphinScheduler的Web界面,进行任务创建、调度配置、监控等操作。 6. `docs`目录:包含项目文档,帮助用户理解DolphinScheduler的使用方法和API...

    .archMicrosoft.Win32.TaskScheduler.dll

    .archMicrosoft.Win32.TaskScheduler.dll

    apache-dolphinscheduler-3.1.4-src.tar.gz

    apache-dolphinscheduler-3.1.4-src.tar.gzapache-dolphinscheduler-3.1.4-src.tar.gzapache-dolphinscheduler-3.1.4-src.tar.gzapache-dolphinscheduler-3.1.4-src.tar.gzapache-dolphinscheduler-3.1.4-src.tar....

    Quartz如何实现判断某个任务是否正在运行,在项目中用到的,已经测试过了

    要判断一个任务是否正在运行,我们可以利用JobExecutionContext和Scheduler的状态查询功能。以下是一些主要步骤: 1. 获取Scheduler实例:首先,你需要获取到Scheduler实例,这通常是通过SchedulerFactory创建的。...

    quartz scheduler 入门教程

    * 驱动工作流进程:当一个新订单生成后,指定一个计划任务在 2 小时后触发,该任务将会检查订单状态,如果该订单信息没有被接收到,那么任务会发出一个警告的通知,并改变订单的状态为“等待介入”。 * 系统维护:每...

    DolphinScheduler(apache-dolphinscheduler-2.0.5-src.tar.gz)源码

    Apache DolphinScheduler(apache-dolphinscheduler-2.0.5-src.tar.gz 源码)是一个分布式易扩展的可视化DAG工作流任务调度开源系统。解决数据研发ETL 错综复杂的依赖关系,不能直观监控任务健康状态等问题。Dolphin...

    apache-dolphinscheduler-1.3.2-dolphinscheduler-bin.tar.gz

    - 调度策略可以在工作流定义中设置,如按时间间隔、上一个任务完成等条件触发。 - 监控页面可查看任务运行状态,如进度、日志输出、资源消耗等。 - 遇到问题时,可参考日志进行问题定位,如有必要,可调整配置或...

    apache-dolphinscheduler-3.1.4-bin.tar.gz

    apache-dolphinscheduler-3.1.4-bin.tar.gzapache-dolphinscheduler-3.1.4-bin.tar.gzapache-dolphinscheduler-3.1.4-bin.tar.gzapache-dolphinscheduler-3.1.4-bin.tar.gzapache-dolphinscheduler-3.1.4-bin.tar....

    Advanced.Task.Scheduler.Professional.3.3.0.609

    Advanced Task Scheduler提供了一整套的计划任务工具,允许多种方式自动运行计划好的任务,如只运行一次、每分钟运行一次、每小时运行一次、每天运行一次、每月运行一次、每年运行一次或者是在打开计算机后的指定...

    apache-dolphinscheduler-3.2.1-src.tar.gz、bin.tar.gz

    Apache DolphinScheduler是一款强大的分布式工作流任务调度系统,主要用于大数据处理领域的任务编排和调度。它提供了Web图形化界面,使得用户可以方便地设计、监控和管理复杂的数据处理流程。在这个场景中,我们有两...

    Quartz调度、终止执行的任务

    Quartz是一款开源的作业调度框架,它允许开发者创建和安排任务执行。在Java应用程序中,Quartz能够帮助我们在特定的时间点或按照预设的周期执行某些功能,如数据收集、日志清理等。当我们需要终止某个正在运行的任务...

    使用编程方式添加计划任务的.net组件taskscheduler

    3. **并行调度**:允许多个任务同时运行,但可以限制并行度。 4. **自定义调度**:你可以创建自己的`TaskScheduler`实现,满足特定的需求,如基于优先级的调度或特定资源的调度。 ### 四、TaskScheduler库 在.NET...

    apache-dolphinscheduler-3.0.0-bin.tar.gz

    Apache DolphinScheduler(以下简称DolphinScheduler)是一款开源的工作流调度系统,旨在解决大数据处理中的任务编排问题,提供可视化的作业流程设计、调度执行以及监控管理功能。在DolphinScheduler 3.0.0版本中,...

    quartz-scheduler分享.docx

    在这个例子中,`MyJob`定义了要执行的任务,`Trigger`设置了每10秒执行一次,`scheduler.start()`启动调度器,使任务开始执行。 Quartz-Scheduler还提供了丰富的API来支持如暂停、恢复、删除任务,以及对任务执行...

    springboot与scheduler结合的定时任务工具、实例项目

    或者,你可以使用`@Scheduled`注解直接在方法上声明一个定时任务。例如: ```java @Component public class MyTask { @Scheduled(fixedRate = 60000) // 每60秒执行一次 public void executeTask() { System....

    c#windows计划任务控制

    // 创建一个任务服务实例 TaskService taskService = new TaskService(); // 定义任务的基本信息 TaskDefinition taskDef = taskService.NewTask(); taskDef.RegistrationInfo.Description = "这是一个测试计划任务...

    apache-dolphinscheduler-3.1.4-bin

    工作流可以由多个任务节点组成,节点之间可以设置依赖关系,形成有向无环图(DAG)。 2. **任务类型支持**:DolphinScheduler支持多种任务类型,包括Shell、Java、Python、Spark、Hadoop等,覆盖了大数据处理的常见...

Global site tag (gtag.js) - Google Analytics