/chronus

Chronus是360金融技术团队基于阿里开源项目-TBSchedule重写的分布式调度生产版本开源项目。

Primary LanguageJavaApache License 2.0Apache-2.0

Logo

Chronus是360金融技术团队基于阿里开源项目-TBSchedule进行重写的分布式调度平台,内部经历了5个里程碑版本。平台零开发,无缝支持Dubbo协议,未来支持Http,SpringCloud,期望成为微服务生态轻量级分布式调度平台。为了回馈开源社区,保证开源质量、稳定性,持续投入,开源内部生产版本,内外部版本保持一致。得益于继承TBSchedule良好设计**,Chronus经过大量Job生产验证,稳定性达99.999%。

Architecture

Architecture

Features

  • 平台零开发,业务系统引入SDK,实现接口即可。
  • Master-Executor模式,分布式集群调度,水平扩展,任务自动故障转移,解决大量job调度问题。
  • 调度组物理隔离,基于TAG实现Job的物理隔离执行,重要业务不受影响。
  • 细粒度权限控制,符合内控安全需求。
  • 外部依赖插件化,支持多种注册方式、多种存储方式。
  • 界面友好,丰富的管理功能。

Getting started

Maven dependency

<dependency>
    <groupId>com.qihoo.finance.chronus</groupId>
    <artifactId>chronus</artifactId>
    <version>1.0.0</version>
</dependency>

Defining spring bean handler

@Service("selectExecuteBean")
public class SelectExecuteBean implements ChronusSdkSingleJob<Integer> {
    private static final Logger logger = LogManager.getLogger(SelectExecuteBean.class);

    @Override
    public List<Integer> selectTasks(String taskParameter, List<TaskItemDefineDomain> list, int eachFetchDataNum) throws Exception {
        List<Integer> result = new ArrayList<>();
        //查询数据集合
        return result;
    }

    @Override
    public boolean execute(Integer domain, String taskParameter) throws Exception {
        // 处理集合中的每一项
        return true;
    }
}

Document

Screenshot

login_screenshot task_list_screenshot task_edit_screenshot log_list_screenshot

Downloads

Contact

Who Uses Chronus

请在 谁在使用Chronus #18 提供您的信息共同改变Chronus

360金融

License

Apache 2.0 license. Copyright (C) 360 Finance, Inc.