opencron

定时任务调度系统
授权协议 Apache
开发语言 Java
所属分类 程序开发、 作业/任务调度
软件类型 开源软件
地区 国产
投 递 者 昝阳嘉
操作系统 Linux
开源组织
适用人群 未知
 软件概览

opencron:一个功能完善且通用的开源定时任务调度系统,拥有先进可靠的自动化任务管理调度功能,提供可操作的web图形化管理满足多种场景下各种复杂的定时任务调度,同时集成了linux实时监控,webssh...

你是否有定时执行任务计划的需求,需要在linux的crontab里一一定义任务?

  • 需要在每台linux服务器的crontab里一一定义任务

  • 任务的执行监控太不方便了

  • 得登录到每台机器查看定时任务的运行结果,机器一多简直是一种灾难

  • 对于多台机器协同处理一个任务很麻烦,如何保证多台机器上的任务按顺序依次执行?

  • 当任务运行失败,要重新执行,还得重新定义下执行时间,让其重跑,重跑完成了还得改回正常时间

  • 正在运行的任务要kill掉很麻烦,查看进程pid然后才能kill ......

opencron的出现将彻底的解决上面所有问题.功能如下:

  • 自动化管理任务,提供可操作的web图形化管理

  • 要当场执行只需点击执行即可,非常方便

  • 时间规则支持quartz和crontab,更强大更灵活

  • 非常方便的修改任务的执行时间

  • 任务的运行状态实时查看

  • 支持任务kill(包括由当前任务调起的其他子任务链,彻底kill)

  • 支持重新执行正在运行的任务

  • 出错后实时通知给任务人(超过重跑次数自动发送邮件,短信)

  • 支持任务超时设置,一旦超过预定运行时长自动kill,任务结束,防止僵尸任务

  • 支持流程任务(多台机器上协同完成一个大的任务,按任务分配的顺序依次执行每台机器上的任务)

  • 记录任务的运行日志,非常方便查看

  • 多用户多角色

  • 现场执行(选择N台机器同时执行一个命令或任务)

  • webssh,在浏览器一键ssh登录到linux服务器

  • 提供服务器的性能实时监控 ......

 相关资料
  • 简介 在过去,开发者必须在服务器上为每个任务生成单独的 Cron 项目。而令人头疼的是任务调度不受源代码控制,而且必须通过 SSH 连接到服务器上来增加 Cron 项目。 Laravel 的命令调度程序允许你在 Laravel 中对命令调度进行清晰流畅的定义。并且在使用调度程序时,只需要在服务器上增加一条 Cron 项目即可。调度是在 app/Console/Kernel.php 文件的 sche

  • 基本任务调度 方案1: 通过 @Cron 注解,这个需要依赖 cron4j 框架: //1分钟执行一次 @Cron("*/1 * * * *") public class MyTask implements Runnable { @Override public void run() { System.out.println("task running...");

  • 本文向大家介绍Java中Spring使用Quartz任务调度定时器,包括了Java中Spring使用Quartz任务调度定时器的使用技巧和注意事项,需要的朋友参考一下 Quartz 任务调度是什么 Quartz 是 OpenSymphony 开源组织在 Job scheduling 领域又一个开源项目,它可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。Quartz 是一个完全由 Ja

  • 每隔一段时间需要调度任务执行,也许你想注册一个任务在客户端完成连接5分钟后执行,一个常见的用例是发送一个消息“你还活着?”到远端通,如果远端没有反应,则可以关闭通道(连接)和释放资源。 本节介绍使用强大的 EventLoop 实现任务调度,还会简单介绍 Java API的任务调度,以方便和 Netty 比较加深理解。 使用普通的 Java API 调度任务 在 Java 中使用 JDK 提供的 S

  • 在请求返回后继续执行章节中,我们介绍了一种实现的方法,这里我们 介绍一种更优雅更通用的方法:ngx.timer.at()。 ngx.timer.at 会创建一个 Nginx timer。在事件循环中,Nginx 会找出到期的 timer,并在一个独立的协程中执行对应的 Lua 回调函数。 有了这种机制,ngx_lua 的功能得到了非常大的扩展,我们有机会做一些更有想象力的功能出来。比如 批量提交和

  • 在 Blade 2.0.8 版本之后加入了 cron 表达式来完成定时执行任务的需求。 你只需要在处理任务的方法上添加一个 @Schedule 注解,然后编写 cron 表达式即可。 Blade 的任务系统提供你创建、停止、获取任务列表的 API。 创建一个任务 @Bean public class SimpleTask { @Schedule(cron = "* * * * * ?")