xxljob





create table mm.dj_qrtz_job_details
  (
    sched_name character varying(128) not null,
    job_name  character varying(256) not null,
    job_group character varying(256) not null,
    description character varying(256) null,
    job_class_name   character varying(256) not null,
    is_durable character varying(1) not null,
    is_nonconcurrent character varying(1) not null,
    is_update_data character varying(1) not null,
    requests_recovery character varying(1) not null,
    job_data bytea null,
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,job_name,job_group)
);


create table mm.dj_qrtz_triggers
  (
    sched_name character varying(128) not null,
    trigger_name character varying(256) not null,
    trigger_group character varying(256) not null,
    job_name  character varying(256) not null,
    job_group character varying(256) not null,
    description character varying(256) null,
    next_fire_time bigint null,
    prev_fire_time bigint null,
    priority integer null,
    trigger_state character varying(16) not null,
    trigger_type character varying(8) not null,
    start_time bigint not null,
    end_time bigint null,
    calendar_name character varying(256) null,
    misfire_instr smallint null,
    job_data bytea null,
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,trigger_name,trigger_group),
    foreign key (sched_name,job_name,job_group)
        references mm.dj_qrtz_job_details(sched_name,job_name,job_group)
);


create table mm.dj_qrtz_simple_triggers
  (
    sched_name character varying(128) not null,
    trigger_name character varying(256) not null,
    trigger_group character varying(256) not null,
    repeat_count bigint not null,
    repeat_interval bigint not null,
    times_triggered bigint not null,
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,trigger_name,trigger_group),
    foreign key (sched_name,trigger_name,trigger_group)
        references mm.dj_qrtz_triggers(sched_name,trigger_name,trigger_group)
);


create table mm.dj_qrtz_cron_triggers
  (
    sched_name character varying(128) not null,
    trigger_name character varying(256) not null,
    trigger_group character varying(256) not null,
    cron_expression character varying(256) not null,
    time_zone_id character varying(80),
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,trigger_name,trigger_group),
    foreign key (sched_name,trigger_name,trigger_group)
        references mm.dj_qrtz_triggers(sched_name,trigger_name,trigger_group)
);


create table mm.dj_qrtz_simprop_triggers
  (          
    sched_name character varying(128) not null,
    trigger_name character varying(256) not null,
    trigger_group character varying(256) not null,
    str_prop_1 character varying(512) null,
    str_prop_2 character varying(512) null,
    str_prop_3 character varying(512) null,
    int_prop_1 int null,
    int_prop_2 int null,
    long_prop_1 bigint null,
    long_prop_2 bigint null,
    dec_prop_1 numeric(13,4) null,
    dec_prop_2 numeric(13,4) null,
    bool_prop_1 character varying(1) null,
    bool_prop_2 character varying(1) null,
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,trigger_name,trigger_group),
    foreign key (sched_name,trigger_name,trigger_group) 
    references mm.dj_qrtz_triggers(sched_name,trigger_name,trigger_group)
);


create table mm.dj_qrtz_bytea_triggers
  (
    sched_name character varying(128) not null,
    trigger_name character varying(256) not null,
    trigger_group character varying(256) not null,
    bytea_data bytea null,
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,trigger_name,trigger_group),
    foreign key (sched_name,trigger_name,trigger_group)
        references mm.dj_qrtz_triggers(sched_name,trigger_name,trigger_group)
);


create table mm.dj_qrtz_calendars
  (
    sched_name character varying(128) not null,
    calendar_name  character varying(256) not null,
    calendar bytea not null,
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,calendar_name)
);


create table mm.dj_qrtz_paused_trigger_grps
  (
    sched_name character varying(128) not null,
    trigger_group  character varying(256) not null, 
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,trigger_group)
);


create table mm.dj_qrtz_fired_triggers
  (
    sched_name character varying(128) not null,
    entry_id character varying(96) not null,
    trigger_name character varying(256) not null,
    trigger_group character varying(256) not null,
    instance_name character varying(256) not null,
    fired_time bigint not null,
    sched_time bigint not null,
    priority integer not null,
    state character varying(16) not null,
    job_name character varying(256) null,
    job_group character varying(256) null,
    is_nonconcurrent character varying(1) null,
    requests_recovery character varying(1) null,
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,entry_id)
);


create table mm.dj_qrtz_scheduler_state
  (
    sched_name character varying(128) not null,
    instance_name character varying(256) not null,
    last_checkin_time bigint not null,
    checkin_interval bigint not null,
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,instance_name)
);


create table mm.dj_qrtz_locks
  (
    sched_name character varying(128) not null,
    lock_name  character varying(48) not null, 
delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
    primary key (sched_name,lock_name)
);




CREATE SEQUENCE mm.seq_qrtz_trigger_info
    INCREMENT 1
    START 19
    MINVALUE 1
    MAXVALUE 9223372036854775807
    CACHE 1;
create table mm.dj_qrtz_trigger_info (
  id integer not null DEFAULT nextval('mm.seq_qrtz_trigger_info'::regclass),
  job_group integer not null ,
  job_cron character varying(128) not null,
  job_desc character varying(256) not null,
  add_time timestamp default null,
  author character varying(64) default null ,
  alarm_email character varying(256) default null ,
  executor_route_strategy character varying(64) default null,
  executor_handler character varying(256) default null ,
  executor_param character varying(512) default null ,
  executor_block_strategy character varying(64) default null ,
  executor_fail_strategy character varying(64) default null ,
  glue_type character varying(64) not null ,
  glue_source text ,
  glue_remark character varying(128) default null,
  glue_updatetime timestamp default null,
  child_jobid character varying(256) default null ,
  delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
  primary key (id)
) ;


CREATE SEQUENCE mm.seq_qrtz_trigger_log
    INCREMENT 1
    START 19
    MINVALUE 1
    MAXVALUE 9223372036854775807
    CACHE 1;
create table mm.dj_qrtz_trigger_log (
  id integer not null DEFAULT nextval('mm.seq_qrtz_trigger_log'::regclass),
  job_group integer not null ,
  job_id integer not null ,
  glue_type character varying(64) default null ,
  executor_address character varying(256) default null ,
  executor_handler character varying(256) default null ,
  executor_param character varying(512) default null,
  trigger_time timestamp default null ,
  trigger_code character varying(256) not null default '0',
  trigger_msg character varying(2048) default null ,
  handle_time timestamp default null ,
  handle_code character varying(256) not null default '0' ,
  handle_msg character varying(2048) default null,
  delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
  primary key (id)
) ;


CREATE SEQUENCE mm.seq_qrtz_trigger_logglue
    INCREMENT 1
    START 19
    MINVALUE 1
    MAXVALUE 9223372036854775807
    CACHE 1;
create table mm.dj_qrtz_trigger_logglue (
  id integer not null DEFAULT nextval('mm.seq_qrtz_trigger_logglue'::regclass),
  job_id integer not null ,
  glue_type character varying(64) default null ,
  glue_source text ,
  glue_remark character varying(128) not null ,
  add_time timestamp null default null,
  
  delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
  primary key (id)
) ;


CREATE SEQUENCE mm.seq_qrtz_trigger_registry
    INCREMENT 1
    START 19
    MINVALUE 1
    MAXVALUE 9223372036854775807
    CACHE 1;
create table mm.dj_qrtz_trigger_registry (
  id integer not null  DEFAULT nextval('mm.seq_qrtz_trigger_registry'::regclass),
  registry_group character varying(256) not null,
  registry_key character varying(256) not null,
  registry_value character varying(256) not null,
  
  delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
  primary key (id)
) ;


CREATE SEQUENCE mm.seq_qrtz_trigger_group
    INCREMENT 1
    START 19
    MINVALUE 1
    MAXVALUE 9223372036854775807
    CACHE 1;
create table mm.dj_qrtz_trigger_group (
  id integer not null  DEFAULT nextval('mm.seq_qrtz_trigger_group'::regclass),
  app_name character varying(64) not null ,
  title character varying(12) not null,
  group_order smallint not null default '0',
  address_type smallint not null default '0' ,
  address_list character varying(512) default null,
  delete_flag smallint NOT NULL DEFAULT 0,
    create_time timestamp without time zone NOT NULL,
    update_time timestamp without time zone NOT NULL,
    create_user character varying(32) COLLATE pg_catalog."default",
    update_user character varying(32) COLLATE pg_catalog."default",
  primary key (id)
) ;


insert into mm.dj_qrtz_trigger_group ( app_name, title, group_order, address_type, address_list) values ( 'xxl-job-executor-sample', '示例执行器', '1', '0', null);


commit;

03-16
<think>好的,用户让我介绍一下XXLJOB,我需要先回想一下自己对这个框架的了解。XXLJOB是一个分布式任务调度平台,对吧?应该先介绍它的基本概念和用途,比如用于定时任务调度、分布式处理这些。然后,可能需要说明它的核心特性,比如易用性、分布式能力、任务分片、故障转移等等。 接下来,用户可能想知道它的架构组成。记得XXLJOB有调度中心和执行器两部分,调度中心负责管理任务,执行器负责运行任务。需要详细说明这两部分的作用和它们之间的交互方式。 然后,使用场景也很重要,比如电商定时订单处理、日志分析、数据同步等,这些例子能让用户更容易理解它的实际应用。还要提到它的优势,比如高可用、任务监控、弹性扩容,这些是用户选择时关心的点。 需要注意用户提到的系统级指令,确保所有数学公式正确使用$符号,不过这里可能用不上太多公式,但如果有涉及版本号或代码示例的话,可能需要用行内代码格式。另外,保持回答结构清晰,分点说明,帮助用户逐步理解。 可能还需要检查是否有最新的版本更新,比如当前最新版本是不是2.3.0,或者是否有新功能加入。另外,用户是否有可能是开发者,需要技术细节,比如RESTful API、GLUE模式这些,需要适当解释,但不要过于深入,保持简洁。 最后,确保用中文回答,语言流畅,避免使用专业术语过多,必要时举例说明。可能需要提醒用户,如果有具体使用问题或配置细节,可以进一步询问,以提供更多帮助。</think>XXLJOB 是一个开源的分布式任务调度平台,由国内开发者许雪里(xxl)开发。其核心目标是解决分布式系统中的定时任务、周期性任务调度问题,尤其适用于微服务架构场景。以下是分步说明: 1. **核心架构** - **调度中心(Admin)**:$$ \text{Web管理界面} + \text{调度核心模块} $$ 负责任务配置、触发、监控和日志管理,支持集群部署保障高可用。 - **执行器(Executor)**:$$ \text{嵌入业务系统的独立模块} $$ 接收调度中心指令,执行具体任务逻辑,支持多节点负载均衡。 2. **关键特性** - **任务分片**:将大数据量任务拆分为多个子任务并行处理,例如: $若设置分片总数=5,当前分片序号=0$,则处理ID末位为0的数据。 - **故障转移**:自动检测宕机节点,将任务路由至健康节点 - **弹性扩缩容**:通过动态增减执行器节点应对流量波动 - **可视化控制台**:实时查看任务调度状态、执行日志和运行报表 3. **工作流程** ``` 1. 管理员在调度中心配置任务(CRON表达式/API触发) 2. 调度中心向注册的执行器发送调度请求 3. 执行器通过内嵌的Netty服务接收指令 4. 执行器线程池执行任务并返回日志 5. 调度中心持久化执行记录 ``` 4. **适用场景** - 电商订单超时自动关闭(基于CRON表达式) - 每日凌晨统计报表生成 - 跨系统数据同步(如MySQL到Elasticsearch) - 大规模日志分析处理(利用分片机制) 5. **技术优势** - 支持多种任务模式:Bean模式、GLUE(在线编辑Java/Shell等代码) - 完备的失败策略:告警、重试、故障转移 - 细粒度权限控制:支持多租户任务隔离 - 低侵入性:通过RESTful API与业务系统对接 最新稳定版为2.3.0(截至2023年7月),新增任务编排、Kubernetes支持等特性。日均调度量可达百万次,实际应用于美团、京东、中国联通等企业生产环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值