Crocodile

任务调度系统
授权协议 MIT
开发语言 Google Go
所属分类 程序开发、 作业/任务调度
软件类型 开源软件
地区 国产
投 递 者 景元徽
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Crocodile是基于Golang开发的分布式定时任务调度系统,支持http请求、运行Golang、Python、Shell、Python3、Nodejs等调度任务。

特性

  • 在Web节点对任务进行增加、修改、删除、克隆、运行任务等操作
  • 实时查看正在运行的任务和任务的实时日志,并且可以对正在运行的任务进行终止操作
  • 多种任务类型:
    • 执行http请求任务
    • 运行shellpythongolang代码(当然其他语言也可以支持,如需要请提出)
  • 父、子任务:
    当设置了父任务或者子任务后,先会运行父任务->主任务->子任务,任意任务出错后会立即中断整个流程,还可以设置父任务或子任务并行或者串行运行
  • 调度算法:
    支持四种调度算法随机、轮训、Worker权重、Worker最少任务数来调用Worker运行任务,
  • 自定义报警策略:
    可以设置当任务成功失败、或者运行完成后报警给多个用户
    设置任务的返回码或者返回内容来比较任务的实际返回码或者返回内容是否相同来判断任务运行成功或者,code任务默认为0,http任务默认为200
  • 主机组:
    一个任务只可以绑定到任意一个主机组,任务的运行会通过任务的路由策略来选取这个主机组中的一个任务来运行任务
  • 主机:
    一个主机组可以绑定多个主机,主机是实际运行任务的节点,注册后调度中心自动发现
  • 安全策略
    证书加密加密通讯数据
    访问令牌
  • 任务的日志管理,清理日志
  • 报警通知支持平台
    • 邮件
    • 企业微信
    • 钉钉
    • Slack Channel
    • Telegram Bot
    • WebHook URL
  • 详细的任务审计功能
    对用户的所有对数据改变的操作都会记录下来
  • 权限控制
    有三种用户类型
    • 管理员
      拥有所有操作权限,
    • 普通用户 可以创建新的任务、主机组,但是只可以自已创建的任务或主机组进行操作,但是不能查看审计记录、所有用户
    • 访客
      只有查看的权限、无任何操作修改权限,但是不能查看审计记录、所有用户
  • STARTING POINT TIER 1 Crocodile 这是一个关于错误配置导致数据泄露的关卡。 首先nmap开扫 └─$ nmap -sV -A [ip-address] Nmap scan report for aioCloud PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.3 | ftp-syst

 相关资料
  • 简介 在过去,开发者必须在服务器上为每个任务生成单独的 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...");

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

  • 我使用spring调度器任务在固定间隔后调用类中的方法,如下所示 一旦调度程序触发init方法。init方法将使用线程池执行器来执行队列中的所有作业。 问题:执行init方法的初始线程是否会等待init方法中的所有处理(由executor service通过生成新线程来完成)完成? 调度器任务的池大小属性仅用于触发任务,而不是用于执行或处理被触发任务内部的逻辑。

  • 项目中有一个要求,该要求将具有将完成某些工作的计划任务。 该项目是基于Spring的,计划的作业将是应用程序大战的一部分。我以前从未实现过这种功能。 我听说过Quartz。此外,我在某处读到Spring提供了一些功能来安排任务。所以,我在想如果我已经在使用Spring,那么为什么要使用其他API(Quartz)。 我不确定使用哪一个?一个比另一个的优缺点是什么? 请提出满足我要求的最佳方式。

  • 在上下文中没有Executor bean的情况下,Spring Boot会自动配置一个具有合理默认值的ThreadPoolTaskExecutor,这些默认值可以自动与异步任务执行(@EnableAsync)和Spring MVC异步请求处理相关联。 如果您在上下文中定义了自定义Executor,则常规任务执行(即@EnableAsync)将透明地使用它,但不会配置Spring MVC支持,因为它