定时器UNIX crontab vs Quartz

  1. Using cron seems
    to add another entry point into your application, while Quartz would
    integrate into it. So you would be forced to deal with some inter-process communication if you wanted to pass some information to/from the process invoked from cron.
    In Quartz you
    simply (hehe) run multiple threads. cron是进程级别,Quartz是线程级别;如果任务之间有依赖、通信关系,那么cron将是一个大难题,而Quartz只需考虑线程之间如何调度的问题
  2. cron is
    platform dependent, Quartz is
    not. cron是依赖于unix平台的,而Quartz使跨平台的
  3. Quartz may
    allow you to reliably make sure a task is run at the given time or some time after if the server was down for some time. Pure cron wouldn‘t
    do it for you (unless you handle it manually).Quartz会保证即使服务重启,任务仍然会在指定的时间重新执行,而cron不会
  4. Quartz has
    a more flexible language of expressing occurences (when the tasks should be fired).Quarz支持更丰富的执行命令
  5. Consider the memory footprint. If your single tasks share nothing or little, then it might be better to run them from the operating system as a separate process. If they share a lot of information, it‘s better to have them as threads within one process.Quartz占用更少的内存,单进程内执行多任务,而
    cron 每个任务都是一个单独的进程
  6. Not quite sure how you could handle the clustering in the cron approach. Quartz might
    be used with Terracotta following the scaling
    out pattern (I haven‘t tried it, but I believe it‘s doable).
  7. 补充,Quartz支持秒级别的任务,而 cron支持分钟级别的;Quratz有可视化的任务管理界面,监控、运维更方面,健壮性更强
  8. Quartz支持集群

原文:http://stackoverflow.com/questions/1029383/time-triggered-job-cron-or-quartz

参考:http://www.coderanch.com/t/63580/open-source/cron-Quartz

时间: 2024-10-21 22:01:10

定时器UNIX crontab vs Quartz的相关文章

Linux定时器工具-crontab 各參数具体解释及怎样查看日志记录

要使用crontab定时器工具,必需要启动cron服务: service cron start crontab的语法,以备日后救急.先上张超给力的图: crontab各參数说明: -e : 运行文字编辑器来编辑crontab,内定的文字编辑器是VI -r : 删除眼下的crontab -l : 列出眼下的crontab(查看专用) -i : 会和-r 配合使用,在删除当前的crontab时询问,输入y 则删除 注意crontab是分用户的,以谁登录就会编辑到谁的crontab crontab特殊

linux定时器(crontab)实例

linux实验示例----实现每2分钟将“/etc”下面的文件打包存储到“/usr/lobal”目录下 ·Step1:编辑当前用户的crontab并保存终端输入:>crontab -u root -l #查看root用户设置的定时器>crontab -u root -e #进入vi编译模式 00-59/2 * * * * /bin/bash /usr/local/crontab_test.sh #Esc退出编辑模式,在文件尾部输入“:wq”进行保存 ·Step2:/usr/local目录下,编

linux下的“定时器”:crontab

1.概述 crontab是用来设置在固定时间点或时间间隔执行某条指令,类似于时程表.使用-u user是指定user用户的时程表. 2.参数 -e[UserName] :调出编辑器,编辑定时任务,打开后里边有多重文本编辑器,可更具自己偏好选择,若未指定UserName,则是当前shell下的用户 -r[UserName] :删除指定用户当前的时程表,则是当前shell下的用户 -l[UserName] :列出指定用户当前的时程表,则是当前shell下的用户 -v[UserName] :列出指定用

quartz和crontab的区别

quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序.Jobs可以做成标准的Java组件或 EJBs.Quartz的最新版本为Quartz 2.3.2. crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件

List of Unix commands

https://en.wikipedia.org/wiki/List_of_Unix_commands IEEE Std 1003.1-2008 utilities Name Category Description First appeared admin SCCS Create and administer SCCS files PWB UNIX alias Misc Define or display aliases   ar Misc Create and maintain librar

4、定时器Timer

虽然Timer这个类已经很少用,在实际项目当中都是用第三方定时器项目,如quartz. 但是如果研究一下Timer的源码,还是有必要的,因为其中包含了涉及的知识点还是挺多的.比如,自动扩容.优先级队列,还有任务调度的一些策略. 1 /** 2 * 在特定的时间调度特定的任务. 如果 3 *时间是一个过去的时间,那么任务会立即被调度 4 * 5 * @param task 将被调度的任务 6 * @param time 任务被执行的时间 7 * @throws IllegalArgumentExc

在Jboss中使用Quartz

Jboss EJB默认使用的定时服务是TimerService,TimerService的使用过程较为繁琐,需要使用一个无状态的serviceBean去实现scheduleTimer, timeoutHandler方法,并且要通过外部调用去启动和控制定时器的频率.在使用过程中觉得TimerService定时器非常不好用.因此希望能使用简单好用Quartz来做为服务器的定时器. 如果使用Quartz定时器,在启动定时服务前,需要初始化定时的内容,但在Jboss Ejb中,我实在是找不到能让Quar

crontab 的使用

1. 创建一个文件  mycrontab 2. 将此文件运用到系统的定时器中     crontab  mycrontab 3. crontab -e     (或直接编辑  mycrontab, 但貌似不太安全) 加入需要定时的任务 如: 0 22 * * * /user/local/bin/python /data/sites/stg/qz/async_write/save_yesterday_pvptop.py stg  >/dev/null 2>&1     (如果不写  &g

Linux之crontab定时任务

****crontab简介**** 简而言之呢,crontab就是一个自定义定时器. ****crontab配置文件**** 其一:/var/spool/cron/ 该目录下存放的是每个用户(包括root)的crontab任务,文件名以用户名命名 其二:/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本. ****crontab时间说明**** # .---------------- minute (0 - 59) # | .------------- hour (0