{"id":13621568,"url":"https://github.com/open-job/openjob","last_synced_at":"2026-01-14T22:49:10.723Z","repository":{"id":36961305,"uuid":"502971260","full_name":"open-job/openjob","owner":"open-job","description":"Distributed high performance task scheduling framework","archived":false,"fork":false,"pushed_at":"2024-05-28T18:12:44.000Z","size":10268,"stargazers_count":944,"open_issues_count":21,"forks_count":95,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-04-15T01:39:26.944Z","etag":null,"topics":["delay","job","schedule","task"],"latest_commit_sha":null,"homepage":"https://openjob.io","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/open-job.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-13T13:37:19.000Z","updated_at":"2025-04-03T03:45:02.000Z","dependencies_parsed_at":"2024-06-12T09:24:56.677Z","dependency_job_id":"398695fc-ce28-4300-ba67-108c24b40cd8","html_url":"https://github.com/open-job/openjob","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/open-job/openjob","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-job%2Fopenjob","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-job%2Fopenjob/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-job%2Fopenjob/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-job%2Fopenjob/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-job","download_url":"https://codeload.github.com/open-job/openjob/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-job%2Fopenjob/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28436902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T22:37:52.437Z","status":"ssl_error","status_checked_at":"2026-01-14T22:37:31.496Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["delay","job","schedule","task"],"created_at":"2024-08-01T21:01:08.071Z","updated_at":"2026-01-14T22:49:10.709Z","avatar_url":"https://github.com/open-job.png","language":"Java","funding_links":[],"categories":["Java","任务调度"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://openjob.io\"\u003e\n    \u003cimg alt=\"openjob\" src=\"./public/image/logo.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  一款分布式高性能任务调度框架\n\u003c/p\u003e\n\n## 介绍\nOpenjob 一款分布式高性能任务调度框架，支持多种定时任务、延时任务、工作流设计、轻量级分布式计算、无限水平扩容，并具有较高的可伸缩性和容错性，以及完善权限管理、强大的告警监控、原生支持多语言。\n## 特性\n##### 高可靠\n分布式无状态设计，采用 Master/Worker 架构，支持多样的数据库(MySQL/PostgreSQL/Oracle)\n##### 高性能\n底层使用一致性分片算法，全程无锁化设计，任务调度精确到秒级别，支持轻量级分布式计算、无限水平扩容。\n##### 定时调度\n支持分布式定时任务、固定频率任务、高性能秒级任务、一次性任务定时调度。\n##### 分布式计算\n支持单机、广播、Map、MapReduce 和分片多种分布式编程模型，轻松实现大数据分布式计算。\n##### 延时任务\n基于 Redis 实现高性能延时任务，底层实现任务多级存储，提供丰富的统计和报表。\n##### 工作流\n内置工作流调度引擎，支持可视化 DAG 设计，简单高效实现复杂任务调度。\n##### 权限管理\n完善的用户管理，支持菜单、按钮以及数据权限设置，灵活管理用户权限\n##### 报警监控\n全面的监控指标，丰富及时的报警方式，便于运维人员快速定位和解决线上问题。\n##### 跨语言\n原生支持 Java/Go/PHP/Python 多语言 ，以及Spring Boot、Gin、Swoft 等框架集成。\n## 开源对比\n|**项目**|**Quartz**| **Elastic-Job** | **XXL-JOB**                   | **Openjob**                                                                       |\n| ----- | ----- |-----------------|-------------------------------|-----------------------------------------------------------------------------------|\n|定时调度|Cron| Cron            | Cron                          | 1. 定时任务 2. 秒级任务 3. 一次性任务 4. 固定频率                                                  |\n|延时任务|不支持| 不支持             | 不支持                           | 基于 Redis 实现分布式高性能延时任务，实现定时与延时一体化                                                  |\n|任务编排|不支持| 不支持             | 不支持                           | 通过图形化编排任务(workflow)                                                               |\n|分布式计算|不支持| 静态分片            | 广播                            | 1. 广播 2. Map/MapReduce 3. 多语言静态分片                                                 |\n|多语言|Java| 1. Java 2. 脚本任务 | 1. Java 2. 脚本任务               | 1. Java 2. Go(Gin、beego) 3. PHP(Swoft)* Python(Agent) 4. 脚本任务 5. HTTP任务 6. Kettle |\n|可视化|无| 弱               | 1. 历史记录 2. 运行日志（不支持存储）3. 监控大盘 | 1. 历史记 2. 运行日志（支持 H2/Mysql/Elasticsearch）3. 监控大盘 4. 操作记录 5. 查看日志堆栈                |\n|可运维|无| 启用、禁用任务         | 1. 启用、禁用任务 2. 手动运行任务 3. 停止任务  | 1. 启用、禁用任务 2. 手动运行任务 3. 停止任务                                                      |\n|报警监控|无| 邮件              | 邮件                            | 1. 邮件 2. webhook 3. 企微 4. 飞书                                                      |\n|性能|每次调度通过DB抢锁，对DB压力大| ZooKeeper是性能瓶颈  | 由Master节点调度，Master节点压力大。      | 任务采用分片算法，每个节点都可以调度，无性能瓶颈，支持无限水平扩展，支持海量任务调度。                                       |\n\n## 依赖\n\n```xml\n\u003copenjob.worker.version\u003e1.0.7\u003c/openjob.worker.version\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.openjob.worker\u003c/groupId\u003e\n    \u003cartifactId\u003eopenjob-worker-core\u003c/artifactId\u003e\n    \u003cversion\u003e${openjob.worker.version}\u003c/version\u003e\n\u003c/dependency\u003e\n\n\u003c!--If your project base on `Spring Boot`, you can directly use the following dependencies--\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.openjob.worker\u003c/groupId\u003e\n    \u003cartifactId\u003eopenjob-worker-spring-boot-starter\u003c/artifactId\u003e\n    \u003cversion\u003e${openjob.worker.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## 文档\n- [官网](https://openjob.io)\n- [文档](https://openjob.io/docs/intro)\n- [体验](https://demo.openjob.io)\n  - 用户名: openjob\n  - 密码: openjob.io\n## 联系\n- Gitter: https://gitter.im/openjob/openjob\n- Discord: https://discord.gg/ZUmX57fKa5\n- QQ交流群: 849015265\n- 微信群助手:\n  \n   \u003cimg alt=\"WeChat\" width=\"200px\" src=\"./public/image/wx.png\"\u003e\n   \n- 微信公众号:\n  \n  \u003cimg alt=\"WeChat\" width=\"200px\" src=\"./public/image/gzh.jpg\"\u003e\n  \n- 邮箱:\n  * swoft@qq.com\n## Contributors\nThis project exists thanks to all the people who contribute. [[Contributors](https://github.com/open-job/openjob/graphs/contributors)].\n## 协议\nOpenjob is under the Apache 2.0 license. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-job%2Fopenjob","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-job%2Fopenjob","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-job%2Fopenjob/lists"}