Git Product home page Git Product logo

powerjob's Introduction

English | 简体中文

🏮PowerJob 全体成员祝大家龙年腾飞,新的一年身体健康,万事如意,阖家欢乐,幸福安康!🏮

PowerJob

actions Maven Central GitHub release (latest SemVer) LICENSE

PowerJob is an open-source distributed computing and job scheduling framework which allows developers to easily schedule tasks in their own application.

Refer to PowerJob Introduction for detailed information.

Introduction

Features

  • Friendly UI: Front-end page is provided and developers can manage their task, monitor the status, check the logs online, etc.

  • Abundant Timing Strategies: Four timing strategies are supported, including CRON expression, fixed rate, fixed delay and OpenAPI which allows you to define your own scheduling policies, such as delaying execution.

  • Multiple Execution Mode: Four execution modes are supported, including stand-alone, broadcast, Map and MapReduce. Distributed computing resource could be utilized in MapReduce mode, try the magic out here!

  • Workflow(DAG) Support: Both job dependency management and data communications between jobs are supported.

  • Extensive Processor Support: Developers can write their processors in Java, Shell, Python, and will subsequently support multilingual scheduling via HTTP.

  • Powerful Disaster Tolerance: As long as there are enough computing nodes, configurable retry policies make it possible for your task to be executed and finished successfully.

  • High Availability & High Performance: PowerJob supports unlimited horizontal expansion. It's easy to achieve high availability and performance by deploying as many PowerJob server and worker nodes.

Applicable scenes

  • Timed tasks, for example, allocating e-coupons on 9 AM every morning.
  • Broadcast tasks, for example, broadcasting to the cluster to clear logs.
  • MapReduce tasks, for example, speeding up certain job like updating large amounts of data.
  • Delayed tasks, for example, processing overdue orders.
  • Customized tasks, triggered with OpenAPI.

Online trial

Documents

Docs

中文文档

Known Users

Click to register as PowerJob user!
ღ( ´・ᴗ・` )ღ Many thanks to the following registered users. ღ( ´・ᴗ・` )ღ

PowerJob User

Stargazers over time

Stargazers over time

License

PowerJob is released under Apache License 2.0. Please refer to License for details.

Others

  • Any developer interested in getting more involved in PowerJob may join our Reddit or Gitter community and make contributions!

  • Reach out to me through email [email protected]. Any issues or questions are welcomed on Issues.

  • Look forward to your opinions. Response may be late but not denied.

powerjob's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

powerjob's Issues

ui首页刷新报no appId问题

Describe the bug
ui首页每次刷新都会报no appId,还有个问题,建议不要将密码存在localStorge里面,可以改用jwt之类的token

关于用户登录与鉴权事宜

用户登录接口与权限

feature场景与主要矛盾

  • powerJob虽然有分布式,但同一个公司不见得会为不同工作组建立不同的server实例来追踪记录
  • 许多公司有内部的身份系统,单独为powerjob-server做简单的用户登录鉴权是重复造轮子
  • 也有许多公司没有内部身份系统,但希望有用户隔离

提出的方案

添加Spring Security+Keycloak 服务器的可选发布版本 keycloak参考简介 https://zh.wikipedia.org/wiki/Keycloak

选用keycloak是因为我们自己在使用,可能不是最佳解决方案,但对比自己造轮子。有以下优势

  • 开箱即用
  • 红帽出品,版本迭代稳定
  • 支持OpenID connect 2.0 和SAML协议。均为业界标准协议,轮子多
  • 可作为broker整合企业LDAP(active dictionary之类的)
  • 内置多个平台的OAuth接口,配置即可用
  • kerberos双向认证

选用这个方案,既可以让keycloak自行管理用户,也可以继承企业自己的身份提供。
举例 https://www.keycloak.org/2017/03/how-to-setup-ms-ad-fs-30-as-brokered-identity-provider-in-keycloak.html

我自己已测试的点

  • powerjob-server 添加spring security,keycloak starter,链接测试keycloak服务器
  • rest控制器添加基于role的鉴权

测试结果

  • spring security成功拦截非鉴权请求
  • vue前端显示unauthorized

需要做的事情

需要确定的事情

  • 如果引入用户的概念,其用户的用例需要讨论
  • 如果引入权限的概念,其权限组的用例需要讨论
  • 当前登录与鉴权只在mvc框架内,未覆盖akka部分
  • 重写landing页面,根据角色或所有者展示app状态,app名+密码没有必要

群友 {NK}

Feature 新增运行的api接口

页面的运行按钮可否另外提供一个api出来,公司目前采用的是jenkins 自动化部署流程,部署完毕会自己启动任务,目前的想法的是部署完毕后使用jenkins 调用运行接口,然后在页面看执行情况

使用postgresql数据库时 报错

org.springframework.orm.jpa.JpaSystemException: Unable to access lob stream; nested exception is org.hibernate.HibernateException: Unable to access lob stream
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:353)
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:255)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:528)
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:149)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy139.findByInstanceId(Unknown Source)
at com.github.kfcfans.powerjob.server.service.instance.InstanceService.fetchInstanceInfo(InstanceService.java:266)
at com.github.kfcfans.powerjob.server.service.instance.InstanceService.stopInstance(InstanceService.java:98)
at com.github.kfcfans.powerjob.server.web.controller.InstanceController.stopInstance(InstanceController.java:63)
at com.github.kfcfans.powerjob.server.web.controller.InstanceController$$FastClassBySpringCGLIB$$7858e390.invoke()

PowerJob server部署在k8s上,worker获取的是容器内ip+port

Describe the bug
PowerJob server部署在k8s上,以ip+port或者域名的形式,暴露出来,提供服务。worker部署在非k8s环境中,这样worker获取到的server地址是k8s集群内的,造成通信故障。

Environment

  • PowerJob Version: [3.2.1]
  • server Java Version: [8-jdk-hotspot]
  • worker OS: [Windows10]

Screenshots
Snipaste_2020-07-30_22-07-48

工作流启动时候是否可以增加参数

在使用OPENAPI启动单个任务时候,是有输入参数instanceParams,但是在工作流启动的时候,只能使用一个工作流id进行启动,而没有instanceParams,是否可以增加instanceParams在启动时候接收到对应的任务参数,谢谢

PowerJob worker reported table not found.

Describe the bug
As recommended, I set config.setStoreStrategy(StoreStrategy.DISK);, the jar would run for hours safely, and then suddenly report H2 table TASK_INFO not found.

2020-07-29 08:30:55.268  ERROR 38782 --- [ctttp-168638049960329280-1] c.g.k.p.w.p.TaskPersistenceService       TaskPersistenceService.java:217: [TaskPersistenceService] getTaskStatusStatistics for instance(id=168638049960329280) failed.
org.h2.jdbc.JdbcSQLException: Table "TASK_INFO" not found; SQL statement:
select status, count(*) as num from task_info where sub_instance_id = 168638049960329280 and instance_id = 168638049960329280GROUP BY status [42102-197]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
	at org.h2.message.DbException.get(DbException.java:179)
	at org.h2.message.DbException.get(DbException.java:155)
	at org.h2.command.Parser.readTableOrView(Parser.java:5920)
	at org.h2.command.Parser.readTableFilter(Parser.java:1430)
	at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:2138)
	at org.h2.command.Parser.parseSelectSimple(Parser.java:2287)
	at org.h2.command.Parser.parseSelectSub(Parser.java:2133)
	at org.h2.command.Parser.parseSelectUnion(Parser.java:1946)
	at org.h2.command.Parser.parseSelect(Parser.java:1919)
	at org.h2.command.Parser.parsePrepared(Parser.java:463)
	at org.h2.command.Parser.parse(Parser.java:335)
	at org.h2.command.Parser.parse(Parser.java:307)
	at org.h2.command.Parser.prepareCommand(Parser.java:278)
	at org.h2.engine.Session.prepareLocal(Session.java:611)
	at org.h2.engine.Session.prepareCommand(Session.java:549)
	at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1247)
	at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:76)
	at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:304)
	at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:310)
	at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java)
	at com.github.kfcfans.powerjob.worker.persistence.TaskDAOImpl.simpleQueryPlus(TaskDAOImpl.java:99)
	at com.github.kfcfans.powerjob.worker.persistence.TaskPersistenceService.lambda$getTaskStatusStatistics$10(TaskPersistenceService.java:206)
	at com.github.kfcfans.powerjob.common.utils.CommonUtils.executeWithRetry(CommonUtils.java:44)
	at com.github.kfcfans.powerjob.worker.persistence.TaskPersistenceService.execute(TaskPersistenceService.java:340)
	at com.github.kfcfans.powerjob.worker.persistence.TaskPersistenceService.getTaskStatusStatistics(TaskPersistenceService.java:205)
	at com.github.kfcfans.powerjob.worker.core.tracker.task.TaskTracker.getInstanceStatisticsHolder(TaskTracker.java:401)
	at com.github.kfcfans.powerjob.worker.core.tracker.task.CommonTaskTracker$StatusCheckRunnable.innerRun(CommonTaskTracker.java:127)
	at com.github.kfcfans.powerjob.worker.core.tracker.task.CommonTaskTracker$StatusCheckRunnable.run(CommonTaskTracker.java:294)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

To Reproduce

  1. Set config.setStoreStrategy(StoreStrategy.DISK);
  2. Deploy the jar, run and let go.
  3. Wait for hours and see.

Expected behavior
Task Executing error as shown in the following screenshot.

Environment

  • PowerJob Version: [3.1.2]
  • Java Version: [java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)]
  • OS: [CentOS Linux release 7.2.1511 (Core) ]

Screenshots
Capture20200731100755

Deploy multiple power workers on the same machine.

Is your feature request related to a problem? Please describe.

 public class OmsWorkerFileUtils {

    private static final String USER_HOME = System.getProperty("user.home", "powerjob");
    private static final String WORKER_DIR = USER_HOME + "/powerjob/";

    public static String getScriptDir() {
        return WORKER_DIR + "script/";
    }

    public static String getContainerDir() {
        return WORKER_DIR + "container/";
    }

    public static String getH2Dir() {
        return WORKER_DIR + "h2/";
    }
}

The working directory of the project is set to ${user.home}/powerjob/h2,and the database file name is always powerjob_worker_db.mv.db. So I am wondering if I deploy multiple workers for different works on the same machine, would any conflicts occur?

Describe the solution you'd like
Powerjob worker automatically reads spring.application.name from application.properties?

Describe alternatives you've considered
Generate different paths for different projects, or read path from application.properties, or set different names for different databases?

Additional context
Many thanks!

[Feature] feature request

Is your feature request related to a problem? Please describe.
希望能在任务流执行的时候,可以增加一个按钮,查看每个任务在控制台中打印的所有日志,而不是部分日志

网络分区的情况

目前缺乏节点嗅探机制,Worker实例只会访问启动时配置的server地址,且server端主节点选举依赖于Worker触发,因此不利于动态添加server节点。添加server节点后,需要重启Worker实例,才能使其生效。

此外,若出现网络分区,可能会出现server端主节点切换,导致Worker数据上报的server不一致的现象,server端调度时也无法获取所有可用Worker。worker1与worker2在这种情况下不会被调度到。

server1(last leader) | server2(new leader)
|           \           partition     |
|              \               |           |
worker1 worker2    |       worker3

没有和Elastic-Job的对比?

为什么有和QuartZ的对比(主要使用场景不同),却没有和Elastic-Job的对比?
Elastic-Job目前应该是同类产品在国内使用最广泛的吧...强烈建议跟Elastic-Job做下对比。

PowerJob server部署在k8s上,worker获取的是容器内ip+port

Describe the bug
PowerJob server部署在k8s上,以ip+port或者域名的形式,暴露出来,提供服务。worker部署在非k8s环境中,这样worker获取到的server地址是k8s集群内的,造成通信故障。

Environment

  • PowerJob Version: [3.2.1]
  • server Java Version: [8-jdk-hotspot]
  • worker OS: [Windows10]

Screenshots
Snipaste_2020-07-30_22-07-48

image

Can I cancel some of the tasks submitted with the same JobId?

Is your feature request related to a problem? Please describe.
I am doing a function just like the alarm clock. Users can randomly set alarm clocks, and cancel any of these clocks at ease. I found that with OpenAPI(runJob with delay time function), I can set these clocks, but cannot cancel them randomly. Do I have to create distinct job for each alarm clock?

Describe the solution you'd like
I am wondering, if another API like cancelTask(LocalDateTime runTime) could be offered, and the runJob with delay time function could be runJob(Long JobId, String jobParams, LocalDateTime runTime).

Describe alternatives you've considered
Create different job with different jobId for each alarm clock.

Additional context
PowerJob is a good project, come on!

[Feature] 任务队列功能

Is your feature request related to a problem? Please describe.

需求反馈自群友 @{NK}
server由于没有可用计算资源(worker全部宕机或满载)时,并不直接使任务失败,而是加入队列中延迟调度。

Describe the solution you'd like

任务(Job)添加一个配置参数,失败队列大小,<=0代表直接失败不如队,否则为该任务的队列大小。当server调度时,由于没有可用计算资源而失败的任务会被插入队列中。单独起一个线程轮询重选调度队列。

细节:考虑用真内存队列呢还是加一个状态使用DB来充当队列,毕竟这个队列数量不可能太大,用DB顺带把高可用做了。偏向于DB方案,不过新增状态码需要小心状态机的维护。

[Feature] ServerSelectService选举优化

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

因为server集群为 多主 + 先到先得的选举模式。

如果把PowerJob作为 团队 所有定时任务的管理平台。

AppId多了后,糟糕的情况,可能某一个server节点会成为大多数AppId的Leader。

导致server间负载过度倾斜。

Describe the solution you'd like
A clear and concise description of what you want to happen.

方案1:
竞选前,通过SQL-count统计instance近1小时的调度量,推举承载instance最小且isActive的server节点为Leader

方案2:
server_info表增加负载、上报时间字段,当前server节点定时上报自己状况。
一旦某AppId需要选举,则通过查表找到最近有上报&负载最轻的节点,转发选举请求(如果最轻就是自己,则立刻参选)

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

日志查看查看优化

希望 在某一任务后面 增加 【日志】按钮,只查看这个任务的日志信息。
菜单

[Feature] internationalization

国际化,走出国门计划~
主要是前端部分的国际化,同时修改某些非常 chinglish 的日志。

stopInstance Asyn task

Is your feature request related to a problem? Please describe.
Sync Job , can't get the right stop

In the following cases:

@Override
public ProcessResult process(TaskContext context) throws Exception {
    performSync();
    where(true){
       // get staute,  ten seconds every time
       String result = fetchResult()
       if (result = "success" or "fail"){
           break;
       }else{
           Thread.sleep(1000*10)
       }    
    } 
    return ProcessResult.xxx ;
}

Describe the solution you'd like

expect:

Add the hook , to stop

TaskContext
    - stopInstanceHook

powerjob-server模块打包发布到maven**仓库

Is your feature request related to a problem? Please describe.
我想使用powerjob-server中流程管理、实例管理、流程引擎处理这块的功能, 但不想把powerjob-server中的代码完整的复制到自己的工程中; 希望能直接通过依赖powerjob-server这个包, 将其核心功能引入本项目, 好处是自己可以扩展流程管理功能提供符合自己业务的REST API;另外, 可以做一个类似powerjob-worker-spring-boot-starter一样的powerjob-server-spring-boot-starter模块

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
将powerjob-server发布到maven**仓库 或者 增加一个powerjob-server-spring-boot-starter层

cron job on different timezone worker with powerjob-server

Question

Before asking a question, make sure you have(在提问之前,请确保你已经):

  • Read documentation(仔细阅读了官方文档)
  • Googled your question(百度搜索了你的问题)
  • Searched open and closed GitHub issues(搜索了开放和关闭的 GitHub issues)

Please pay attention on issues you submitted, because we maybe need more details.

需不需要考虑这么一种场景,
例如每天凌晨 0 点进行备份,powerjob-server 的时区与 worker 可能不同(不同的 worker 处于不同的时区),
假设 powerjob-server 是东八区,当凌晨 0 点的时候任务下发,
某个 worker 是东九区,此时是凌晨 1 点,是不是就不符合原先的需求

(不过貌似不支持 worker 和 server 不同时区?)

client-3.2.0和worker-3.2.3冲突

文档里给出的依赖版本client-3.2.0和worker-3.2.3冲突,会导致项目启动失败,都用3.2.3的话可以正常启动,希望大佬有空更新下文档哦~~
TIM图片20200828145724

【编辑】预警配置,返显错误

使用 v3.2.1分支版本, 运行 powerjob-server ,使用项目自带的前端界面,
任务管理菜单,针对某一任务 进行编辑
第一次点击 【编辑】添加 预警配置 成功之后
第二次在点击【编辑】 在反显错误
add
show

[Feature] online log limiter

At present, oms-worker submits online logs to oms-server without any restrictions. When developers abuse this function, it may cause oms-server to be overstressed and washed down. To this end, a current limiter needs to be implemented, including global current limit (simple) and specified packet current limit (complex and costly, which needs to be carefully designed), and support for configurable current limit threshold.

当前,oms-worker向oms-server提交在线日志并没有做任何限制,当开发者滥用此功能时,可能导致oms-server压力过大而被冲垮。为此需要实现一个限流器,包括全局限流(简单)和指定分组限流(复杂且代价较高,需要仔细设计一下),并支持限流阈值可配置。

aspect: com.github.kfcfans.oms.server.akka.actors.ServerActor#onReceiveWorkerLogReportReq

使用mvn启动调度中心时出错,显示10086占用

18:39:34.407 [main] INFO com.github.kfcfans.powerjob.server.OhMyApplication -

******************* PowerJob Tips *******************
如果应用无法启动,我们建议您仔细阅读以下文档来解决:
if server can't startup, we recommend that you read the documentation to find a solution:
https://www.yuque.com/powerjob/guidence/xp5ygc#xMQC9
******************* PowerJob Tips *******************

18:39:35.538 [main] INFO com.github.kfcfans.powerjob.server.akka.OhMyServer - [OhMyServer] OhMyServer's akka system start to bootstrap...
18:39:36.501 [main] INFO com.github.kfcfans.powerjob.server.akka.OhMyServer - [OhMyWorker] akka-remote server address: 192.168.3.40:10086
18:40:20.870 [oms-server-akka.actor.default-dispatcher-5] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started
18:40:27.350 [oms-server-akka.actor.default-dispatcher-5] WARN akka.remote.RemoteActorRefProvider - Using the 'remote' ActorRefProvider directly, which is a low-level layer. For most use cases, the 'cluster' abstraction on top of remoting is more suitable instead.
18:40:27.378 [oms-server-akka.actor.default-dispatcher-5] WARN akka.remote.RemoteActorRefProvider - Akka Cluster not in use - Using Akka Cluster is recommended if you need remote watch and deploy.
18:40:33.847 [oms-server-akka.actor.default-dispatcher-5] ERROR akka.io.TcpListener - Bind failed for TCP channel on endpoint [/192.168.3.40:10086]
java.net.BindException: [/192.168.3.40:10086] Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:444)
at sun.nio.ch.Net.bind(Net.java:436)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:225)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at akka.io.TcpListener.liftedTree1$1(TcpListener.scala:59)
at akka.io.TcpListener.(TcpListener.scala:56)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at akka.util.Reflect$.instantiate(Reflect.scala:69)
at akka.actor.ArgsReflectConstructor.produce(IndirectActorProducer.scala:100)
at akka.actor.Props.newActor(Props.scala:226)
at akka.actor.ActorCell.newActor(ActorCell.scala:609)
at akka.actor.ActorCell.create(ActorCell.scala:635)
at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:509)
at akka.actor.ActorCell.systemInvoke(ActorCell.scala:531)
at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:294)
at akka.dispatch.Mailbox.run(Mailbox.scala:229)
at akka.dispatch.Mailbox.exec(Mailbox.scala:242)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)
Caused by: akka.remote.RemoteTransportException: Failed to bind TCP to [192.168.3.40:10086] due to: Bind failed because of java.net.BindException: [/192.168.3.40:10086] Address already in use
at akka.remote.artery.tcp.ArteryTcpTransport$$anonfun$4.applyOrElse(ArteryTcpTransport.scala:275)
at akka.remote.artery.tcp.ArteryTcpTransport$$anonfun$4.applyOrElse(ArteryTcpTransport.scala:269)
at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:453)
at scala.concurrent.ExecutionContext$parasitic$.execute(ExecutionContext.scala:164)
at scala.concurrent.impl.Promise$Transformation.submitWithValue(Promise.scala:392)
at scala.concurrent.impl.Promise$DefaultPromise.submitWithValue(Promise.scala:302)
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete0(Promise.scala:249)
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:242)
at scala.concurrent.Promise.complete(Promise.scala:57)
at scala.concurrent.Promise.complete$(Promise.scala:56)
at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:104)
at scala.concurrent.Promise.failure(Promise.scala:109)
at scala.concurrent.Promise.failure$(Promise.scala:109)
at scala.concurrent.impl.Promise$DefaultPromise.failure(Promise.scala:104)
at akka.stream.impl.io.ConnectionSourceStage$$anon$1.receive(TcpStages.scala:96)
at akka.stream.impl.io.ConnectionSourceStage$$anon$1.$anonfun$preStart$1(TcpStages.scala:67)
at akka.stream.impl.io.ConnectionSourceStage$$anon$1.$anonfun$preStart$1$adapted(TcpStages.scala:67)
at akka.stream.stage.GraphStageLogic$StageActor.internalReceive(GraphStage.scala:243)
at akka.stream.stage.GraphStageLogic$StageActor.$anonfun$callback$1(GraphStage.scala:202)
at akka.stream.stage.GraphStageLogic$StageActor.$anonfun$callback$1$adapted(GraphStage.scala:202)
at akka.stream.impl.fusing.GraphInterpreter.runAsyncInput(GraphInterpreter.scala:466)
at akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:497)
at akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:599)
at akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:768)
at akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:783)
at akka.actor.Actor.aroundReceive(Actor.scala:534)
at akka.actor.Actor.aroundReceive$(Actor.scala:532)
at akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:690)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:573)
at akka.actor.ActorCell.invoke(ActorCell.scala:543)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:269)
at akka.dispatch.Mailbox.run(Mailbox.scala:230)
at akka.dispatch.Mailbox.exec(Mailbox.scala:242)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
Caused by: akka.stream.impl.io.ConnectionSourceStage$$anon$1$$anon$2: Bind failed because of java.net.BindException: [/192.168.3.40:10086] Address already in use
Caused by: java.net.BindException: [/192.168.3.40:10086] Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:444)
at sun.nio.ch.Net.bind(Net.java:436)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:225)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at akka.io.TcpListener.liftedTree1$1(TcpListener.scala:59)
at akka.io.TcpListener.(TcpListener.scala:56)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at akka.util.Reflect$.instantiate(Reflect.scala:69)
at akka.actor.ArgsReflectConstructor.produce(IndirectActorProducer.scala:100)
at akka.actor.Props.newActor(Props.scala:226)
at akka.actor.ActorCell.newActor(ActorCell.scala:609)
at akka.actor.ActorCell.create(ActorCell.scala:635)
at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:509)
at akka.actor.ActorCell.systemInvoke(ActorCell.scala:531)
at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:294)
at akka.dispatch.Mailbox.run(Mailbox.scala:229)
at akka.dispatch.Mailbox.exec(Mailbox.scala:242)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)

建议worker可以指定自己的ip

现在server和worker只能在同一个局域网中,限制太大。建议worker可以通过配置的方式指定自己的ip和端口,达到与server通讯的目的。

Bug Report 点击运行出现2次任务

Describe the bug
在任务管理中点击运行任务,在任务实例中普通任务实例出现2条任务,多次测试确认不是手抖缘故,没有创建工作流
1
2
3

[BUG] bug report

Hi,偶然发现你的项目,对你的项目很感兴趣,发现了几个问题:
1.现有的几个release版本都无法编译成功.具体可以查看附件.不知有何解决办法?
compile-log.txt
2.语雀的文档有小错误.
a

万望不吝赐教

scala/Product$class

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initPowerJob' defined in class path resource [com/github/kfcfans/powerjob/worker/autoconfigure/PowerJobAutoConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: scala/Product$class

启动报错

Describe the bug
这个我配置开源项目,第一次启动就报错的,桑心

10:07:03.799 [main] INFO com.github.kfcfans.powerjob.server.akka.OhMyServer - [OhMyServer] OhMyServer's akka system start to bootstrap...
10:07:03.805 [main] INFO com.github.kfcfans.powerjob.server.akka.OhMyServer - [OhMyWorker] akka-remote server address: 10.13.48.87:10086
10:07:04.399 [oms-server-akka.actor.default-dispatcher-5] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started
10:07:04.521 [oms-server-akka.actor.default-dispatcher-5] WARN akka.remote.RemoteActorRefProvider - Using the 'remote' ActorRefProvider directly, which is a low-level layer. For most use cases, the 'cluster' abstraction on top of remoting is more suitable instead.
10:07:04.521 [oms-server-akka.actor.default-dispatcher-5] WARN akka.remote.RemoteActorRefProvider - Akka Cluster not in use - Using Akka Cluster is recommended if you need remote watch and deploy.
Exception in thread "main" java.util.NoSuchElementException
at scala.collection.immutable.BitmapIndexedMapNode.apply(HashMap.scala:608)
at scala.collection.immutable.BitmapIndexedMapNode.apply(HashMap.scala:606)
at scala.collection.immutable.HashMap.apply(HashMap.scala:131)
at akka.serialization.Serialization.$anonfun$bindings$3(Serialization.scala:438)
at scala.collection.Iterator$$anon$9.next(Iterator.scala:573)
at scala.collection.immutable.HashMapBuilder.addAll(HashMap.scala:2338)
at scala.collection.immutable.HashMap$.from(HashMap.scala:2162)
at scala.collection.immutable.HashMap$.from(HashMap.scala:2138)
at scala.collection.MapOps$WithFilter.map(Map.scala:353)
at akka.serialization.Serialization.(Serialization.scala:436)
at akka.serialization.SerializationExtension$.createExtension(SerializationExtension.scala:18)
at akka.serialization.SerializationExtension$.createExtension(SerializationExtension.scala:14)
at akka.actor.ActorSystemImpl.registerExtension(ActorSystem.scala:1155)
at akka.actor.ActorSystemImpl.$anonfun$loadExtensions$1(ActorSystem.scala:1196)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:553)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:551)
at scala.collection.AbstractIterable.foreach(Iterable.scala:921)
at akka.actor.ActorSystemImpl.loadExtensions$1(ActorSystem.scala:1191)
at akka.actor.ActorSystemImpl.loadExtensions(ActorSystem.scala:1209)
at akka.actor.ActorSystemImpl.liftedTree2$1(ActorSystem.scala:1036)
at akka.actor.ActorSystemImpl._start$lzycompute(ActorSystem.scala:1023)
at akka.actor.ActorSystemImpl._start(ActorSystem.scala:1023)
at akka.actor.ActorSystemImpl.start(ActorSystem.scala:1046)
at akka.actor.ActorSystem$.apply(ActorSystem.scala:283)
at akka.actor.ActorSystem$.apply(ActorSystem.scala:327)
at akka.actor.ActorSystem$.apply(ActorSystem.scala:301)
at akka.actor.ActorSystem$.create(ActorSystem.scala:224)
at akka.actor.ActorSystem.create(ActorSystem.scala)
at com.github.kfcfans.powerjob.server.akka.OhMyServer.init(OhMyServer.java:60)
at com.github.kfcfans.powerjob.server.OhMyApplication.main(OhMyApplication.java:33)

Environment

  • PowerJob Version: master
  • Java Version: JDK 1.8.0_191

docker容器中运行powejob-server,woker端会报连不上akka

Describe the bug
docker容器中运行powejob-server,woker端会报连不上akka,通过日志查看,是因为akka连接到容器内部ip和端口了,目前解决办法:docker容器网络改成host模式,但是k8s平台就不行了

建议:增加显示配置akka的ip和端口

接入钉钉群告警 Integrate with DingTalk

Is your feature request related to a problem? Please describe.
任务执行失败,可否接入钉钉群告警?
Would there be DingTalk alarm messages sent when the task execution failed?

Additional context
短信告警耗费资源,没必要。邮箱告警也不是很实用。能否接入钉钉这种工作级的工具呢?如果能接入,最好不过了。
It is expensive and annoying to send messages when the task execution failed, so is sending alarms via emails. It would be more friendly to support DingTalk for messaging.

[Feature] 新增帮助页面

提一个建议,在PowerJob 起个帮助之类的页面,放上你再github或者gitee的链接行不,有时候想进git不是很方便,文档里最好开头就把链接放上去

[BUG] MapReduce在worker集群脑裂的情况下无法顺利结束

Describe the bug
当某个任务的TaskTracker与server出现网络阻断时,server单方面判断TaskTracker down,启动故障转移策略,随意选择新的机器成为TaskTracker,重试整个任务。假如此时原先的TaskTracker所处网络恢复,该任务就存在着两个 TaskTracker,进而导致各种数据覆盖而无法结束任务。

To Reproduce
实际情况中极小概率出现,仅从理论角度分析原因。

Expected behavior
MapReduce处理器能够正常工作

Environment

  • PowerJob Version: 3.0.0
  • Java Version: OpenJDK 8
  • OS: CentOS 8.1

[Feature] feature request

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

对 TimeExpressType.CRON 的JobInfo

在本该触发的 nextTriggerTime 左右,恰好遭遇 宕机/停机/长GC停顿 跳过了,则CRON表达式的下一次触发时间,也server也无法SQL扫描出这条“错过刷新时机”的Job。

恰好我们团队之前定时也用的类似扫描方式,生产环境遭遇过“错过刷新时机”的问题,而该定时任务的需求是用户添加的,量大无法人力检查。

不知道这个问题 PowerJob version 3.1.3 是否存在

Describe the solution you'd like
A clear and concise description of what you want to happen.

之前的解决方式是增加一个线程每分钟扫描 Status.enable & 触发时间是 beforeNow 的。

当然这个补丁不太优雅。

基于Powjob扩展脚本任务功能

我现在的需求是: 创建的流程任务可以支持编辑时定义任务节点的配置信息(PowerJob原生是只支持导入事先创建好的任务节点作为流程中的步骤节点来编排任务)
a. 这里我的前端会替换现有的DAG编辑器, 编辑器支持拖拽任务节点, 允许配置任务节点数据
b. 我想扩展job实体结构, 增加新的processor, 主要是为了支持ansible playbook脚本的分发和执行
b. 鉴于我想基于powerjob开发, 可否专门创建一个分支供我来提交满足我需求的功能代码?
c. 我怎样加入到项目里来贡献代码?

[Feature] 支持定制表前缀

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
可否考虑所有PowerJob表,统一加上表前缀(比如pj_),以便于和其他业务表进行区分。

大概看了下,通过以下两步可以实现:

  1. 继承ImplicitNamingStrategyJpaCompliantImpl类;
  2. 修改@Query(nativeQuery = false)和其SQL

Powerjob server无法正常启动

oms.env=DAILY
logging.config=classpath:logback-dev.xml

####### 数据库配置 #######
spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.core.jdbc-url=jdbc:mysql://127.0.0.1:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8
spring.datasource.core.username=root
spring.datasource.core.password=123456
spring.datasource.core.hikari.maximum-pool-size=20
spring.datasource.core.hikari.minimum-idle=5

####### mongoDB配置,非核心依赖,可移除 #######
#spring.data.mongodb.uri=mongodb://remotehost:27017/powerjob-daily

####### 邮件配置(启用邮件报警则需要) #######
spring.mail.host=smtp.163.com
spring.mail.username=zqq
spring.mail.password=qqz
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

####### 资源清理配置 #######
oms.instanceinfo.retention=1
oms.container.retention.local=1
oms.container.retention.remote=-1

####### 缓存配置 #######
oms.instance.metadata.cache.size=1024

2.错误信息
"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:D:\IDEA\IntelliJ IDEA 2020.1.4\lib\idea_rt.jar=2482:D:\IDEA\IntelliJ IDEA 2020.1.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;D:\job\PowerJob-master\powerjob-server\target\classes;D:\job\PowerJob-master\powerjob-common\target\classes;D:\Maven\maven-repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;D:\Maven\maven-repository\org\apache\commons\commons-lang3\3.10\commons-lang3-3.10.jar;D:\Maven\maven-repository\com\google\guava\guava\29.0-jre\guava-29.0-jre.jar;D:\Maven\maven-repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;D:\Maven\maven-repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;D:\Maven\maven-repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;D:\Maven\maven-repository\org\checkerframework\checker-qual\2.11.1\checker-qual-2.11.1.jar;D:\Maven\maven-repository\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar;D:\Maven\maven-repository\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;D:\Maven\maven-repository\com\squareup\okhttp3\okhttp\4.4.1\okhttp-4.4.1.jar;D:\Maven\maven-repository\com\squareup\okio\okio\2.4.3\okio-2.4.3.jar;D:\Maven\maven-repository\org\jetbrains\kotlin\kotlin-stdlib-common\1.3.61\kotlin-stdlib-common-1.3.61.jar;D:\Maven\maven-repository\org\jetbrains\kotlin\kotlin-stdlib\1.3.61\kotlin-stdlib-1.3.61.jar;D:\Maven\maven-repository\org\jetbrains\annotations\13.0\annotations-13.0.jar;D:\Maven\maven-repository\com\typesafe\akka\akka-remote_2.13\2.6.4\akka-remote_2.13-2.6.4.jar;D:\Maven\maven-repository\org\scala-lang\scala-library\2.13.1\scala-library-2.13.1.jar;D:\Maven\maven-repository\com\typesafe\akka\akka-actor_2.13\2.6.4\akka-actor_2.13-2.6.4.jar;D:\Maven\maven-repository\com\typesafe\config\1.4.0\config-1.4.0.jar;D:\Maven\maven-repository\org\scala-lang\modules\scala-java8-compat_2.13\0.9.0\scala-java8-compat_2.13-0.9.0.jar;D:\Maven\maven-repository\com\typesafe\akka\akka-stream_2.13\2.6.4\akka-stream_2.13-2.6.4.jar;D:\Maven\maven-repository\com\typesafe\akka\akka-protobuf-v3_2.13\2.6.4\akka-protobuf-v3_2.13-2.6.4.jar;D:\Maven\maven-repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;D:\Maven\maven-repository\com\typesafe\ssl-config-core_2.13\0.4.1\ssl-config-core_2.13-0.4.1.jar;D:\Maven\maven-repository\org\scala-lang\modules\scala-parser-combinators_2.13\1.1.2\scala-parser-combinators_2.13-1.1.2.jar;D:\Maven\maven-repository\org\agrona\agrona\1.4.0\agrona-1.4.0.jar;D:\Maven\maven-repository\com\typesafe\akka\akka-serialization-jackson_2.13\2.6.4\akka-serialization-jackson_2.13-2.6.4.jar;D:\Maven\maven-repository\com\fasterxml\jackson\core\jackson-core\2.10.3\jackson-core-2.10.3.jar;D:\Maven\maven-repository\com\fasterxml\jackson\core\jackson-annotations\2.10.3\jackson-annotations-2.10.3.jar;D:\Maven\maven-repository\com\fasterxml\jackson\core\jackson-databind\2.10.3\jackson-databind-2.10.3.jar;D:\Maven\maven-repository\com\fasterxml\jackson\module\jackson-module-scala_2.13\2.10.3\jackson-module-scala_2.13-2.10.3.jar;D:\Maven\maven-repository\com\fasterxml\jackson\module\jackson-module-paranamer\2.10.3\jackson-module-paranamer-2.10.3.jar;D:\Maven\maven-repository\com\thoughtworks\paranamer\paranamer\2.8\paranamer-2.8.jar;D:\Maven\maven-repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.10.3\jackson-datatype-jdk8-2.10.3.jar;D:\Maven\maven-repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.10.3\jackson-datatype-jsr310-2.10.3.jar;D:\Maven\maven-repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.10.3\jackson-module-parameter-names-2.10.3.jar;D:\Maven\maven-repository\com\fasterxml\jackson\dataformat\jackson-dataformat-cbor\2.10.3\jackson-dataformat-cbor-2.10.3.jar;D:\Maven\maven-repository\com\typesafe\akka\akka-slf4j_2.13\2.6.4\akka-slf4j_2.13-2.6.4.jar;D:\Maven\maven-repository\commons-io\commons-io\2.6\commons-io-2.6.jar;D:\Maven\maven-repository\mysql\mysql-connector-java\8.0.19\mysql-connector-java-8.0.19.jar;D:\Maven\maven-repository\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar;D:\Maven\maven-repository\com\h2database\h2\1.4.200\h2-1.4.200.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-web\2.2.6.RELEASE\spring-boot-starter-web-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter\2.2.6.RELEASE\spring-boot-starter-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot\2.2.6.RELEASE\spring-boot-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-autoconfigure\2.2.6.RELEASE\spring-boot-autoconfigure-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-logging\2.2.6.RELEASE\spring-boot-starter-logging-2.2.6.RELEASE.jar;D:\Maven\maven-repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\Maven\maven-repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\Maven\maven-repository\org\apache\logging\log4j\log4j-to-slf4j\2.12.1\log4j-to-slf4j-2.12.1.jar;D:\Maven\maven-repository\org\apache\logging\log4j\log4j-api\2.12.1\log4j-api-2.12.1.jar;D:\Maven\maven-repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;D:\Maven\maven-repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\Maven\maven-repository\org\yaml\snakeyaml\1.25\snakeyaml-1.25.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-json\2.2.6.RELEASE\spring-boot-starter-json-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-validation\2.2.6.RELEASE\spring-boot-starter-validation-2.2.6.RELEASE.jar;D:\Maven\maven-repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;D:\Maven\maven-repository\org\hibernate\validator\hibernate-validator\6.0.18.Final\hibernate-validator-6.0.18.Final.jar;D:\Maven\maven-repository\org\springframework\spring-web\5.2.5.RELEASE\spring-web-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-beans\5.2.5.RELEASE\spring-beans-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-webmvc\5.2.5.RELEASE\spring-webmvc-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-aop\5.2.5.RELEASE\spring-aop-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-context\5.2.5.RELEASE\spring-context-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-expression\5.2.5.RELEASE\spring-expression-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-undertow\2.2.6.RELEASE\spring-boot-starter-undertow-2.2.6.RELEASE.jar;D:\Maven\maven-repository\io\undertow\undertow-core\2.0.30.Final\undertow-core-2.0.30.Final.jar;D:\Maven\maven-repository\org\jboss\logging\jboss-logging\3.4.0.Final\jboss-logging-3.4.0.Final.jar;D:\Maven\maven-repository\org\jboss\xnio\xnio-api\3.3.8.Final\xnio-api-3.3.8.Final.jar;D:\Maven\maven-repository\org\jboss\xnio\xnio-nio\3.3.8.Final\xnio-nio-3.3.8.Final.jar;D:\Maven\maven-repository\io\undertow\undertow-servlet\2.0.30.Final\undertow-servlet-2.0.30.Final.jar;D:\Maven\maven-repository\org\jboss\spec\javax\annotation\jboss-annotations-api_1.2_spec\1.0.2.Final\jboss-annotations-api_1.2_spec-1.0.2.Final.jar;D:\Maven\maven-repository\io\undertow\undertow-websockets-jsr\2.0.30.Final\undertow-websockets-jsr-2.0.30.Final.jar;D:\Maven\maven-repository\org\jboss\spec\javax\websocket\jboss-websocket-api_1.1_spec\1.1.4.Final\jboss-websocket-api_1.1_spec-1.1.4.Final.jar;D:\Maven\maven-repository\jakarta\servlet\jakarta.servlet-api\4.0.3\jakarta.servlet-api-4.0.3.jar;D:\Maven\maven-repository\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-websocket\2.2.6.RELEASE\spring-boot-starter-websocket-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-messaging\5.2.5.RELEASE\spring-messaging-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-websocket\5.2.5.RELEASE\spring-websocket-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-data-jpa\2.2.6.RELEASE\spring-boot-starter-data-jpa-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-aop\2.2.6.RELEASE\spring-boot-starter-aop-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\aspectj\aspectjweaver\1.9.5\aspectjweaver-1.9.5.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-jdbc\2.2.6.RELEASE\spring-boot-starter-jdbc-2.2.6.RELEASE.jar;D:\Maven\maven-repository\com\zaxxer\HikariCP\3.4.2\HikariCP-3.4.2.jar;D:\Maven\maven-repository\org\springframework\spring-jdbc\5.2.5.RELEASE\spring-jdbc-5.2.5.RELEASE.jar;D:\Maven\maven-repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;D:\Maven\maven-repository\jakarta\persistence\jakarta.persistence-api\2.2.3\jakarta.persistence-api-2.2.3.jar;D:\Maven\maven-repository\jakarta\transaction\jakarta.transaction-api\1.3.3\jakarta.transaction-api-1.3.3.jar;D:\Maven\maven-repository\org\hibernate\hibernate-core\5.4.12.Final\hibernate-core-5.4.12.Final.jar;D:\Maven\maven-repository\org\javassist\javassist\3.24.0-GA\javassist-3.24.0-GA.jar;D:\Maven\maven-repository\net\bytebuddy\byte-buddy\1.10.7\byte-buddy-1.10.7.jar;D:\Maven\maven-repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;D:\Maven\maven-repository\org\jboss\jandex\2.1.1.Final\jandex-2.1.1.Final.jar;D:\Maven\maven-repository\org\dom4j\dom4j\2.1.1\dom4j-2.1.1.jar;D:\Maven\maven-repository\org\hibernate\common\hibernate-commons-annotations\5.1.0.Final\hibernate-commons-annotations-5.1.0.Final.jar;D:\Maven\maven-repository\org\glassfish\jaxb\jaxb-runtime\2.3.1\jaxb-runtime-2.3.1.jar;D:\Maven\maven-repository\org\glassfish\jaxb\txw2\2.3.1\txw2-2.3.1.jar;D:\Maven\maven-repository\com\sun\istack\istack-commons-runtime\3.0.7\istack-commons-runtime-3.0.7.jar;D:\Maven\maven-repository\org\jvnet\staxex\stax-ex\1.8\stax-ex-1.8.jar;D:\Maven\maven-repository\com\sun\xml\fastinfoset\FastInfoset\1.2.15\FastInfoset-1.2.15.jar;D:\Maven\maven-repository\org\springframework\data\spring-data-jpa\2.2.6.RELEASE\spring-data-jpa-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\data\spring-data-commons\2.2.6.RELEASE\spring-data-commons-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-orm\5.2.5.RELEASE\spring-orm-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-tx\5.2.5.RELEASE\spring-tx-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-aspects\5.2.5.RELEASE\spring-aspects-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-data-mongodb\2.2.6.RELEASE\spring-boot-starter-data-mongodb-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\mongodb\mongodb-driver\3.11.2\mongodb-driver-3.11.2.jar;D:\Maven\maven-repository\org\mongodb\bson\3.11.2\bson-3.11.2.jar;D:\Maven\maven-repository\org\mongodb\mongodb-driver-core\3.11.2\mongodb-driver-core-3.11.2.jar;D:\Maven\maven-repository\org\springframework\data\spring-data-mongodb\2.2.6.RELEASE\spring-data-mongodb-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\boot\spring-boot-starter-mail\2.2.6.RELEASE\spring-boot-starter-mail-2.2.6.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-context-support\5.2.5.RELEASE\spring-context-support-5.2.5.RELEASE.jar;D:\Maven\maven-repository\com\sun\mail\jakarta.mail\1.6.5\jakarta.mail-1.6.5.jar;D:\Maven\maven-repository\com\sun\activation\jakarta.activation\1.2.1\jakarta.activation-1.2.1.jar;D:\Maven\maven-repository\org\springframework\spring-core\5.2.5.RELEASE\spring-core-5.2.5.RELEASE.jar;D:\Maven\maven-repository\org\springframework\spring-jcl\5.2.5.RELEASE\spring-jcl-5.2.5.RELEASE.jar;D:\Maven\maven-repository\net\lingala\zip4j\zip4j\2.5.2\zip4j-2.5.2.jar;D:\Maven\maven-repository\org\eclipse\jgit\org.eclipse.jgit\5.7.0.202003110725-r\org.eclipse.jgit-5.7.0.202003110725-r.jar;D:\Maven\maven-repository\com\jcraft\jsch\0.1.55\jsch-0.1.55.jar;D:\Maven\maven-repository\com\jcraft\jzlib\1.1.1\jzlib-1.1.1.jar;D:\Maven\maven-repository\com\googlecode\javaewah\JavaEWAH\1.1.7\JavaEWAH-1.1.7.jar;D:\Maven\maven-repository\org\bouncycastle\bcpg-jdk15on\1.64\bcpg-jdk15on-1.64.jar;D:\Maven\maven-repository\org\bouncycastle\bcprov-jdk15on\1.64\bcprov-jdk15on-1.64.jar;D:\Maven\maven-repository\org\bouncycastle\bcpkix-jdk15on\1.64\bcpkix-jdk15on-1.64.jar;D:\Maven\maven-repository\commons-net\commons-net\3.6\commons-net-3.6.jar;D:\Maven\maven-repository\org\apache\maven\shared\maven-invoker\3.0.1\maven-invoker-3.0.1.jar;D:\Maven\maven-repository\org\apache\maven\shared\maven-shared-utils\3.2.1\maven-shared-utils-3.2.1.jar;D:\Maven\maven-repository\org\codehaus\plexus\plexus-component-annotations\1.7.1\plexus-component-annotations-1.7.1.jar;D:\Maven\maven-repository\com\alibaba\fastjson\1.2.68\fastjson-1.2.68.jar;D:\Maven\maven-repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;D:\Maven\maven-repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;D:\Maven\maven-repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;D:\Maven\maven-repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;D:\Maven\maven-repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;D:\Maven\maven-repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;D:\Maven\maven-repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;D:\Maven\maven-repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;D:\Maven\maven-repository\com\fasterxml\classmate\1.4.0\classmate-1.4.0.jar;D:\Maven\maven-repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;D:\Maven\maven-repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;D:\Maven\maven-repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;D:\Maven\maven-repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;D:\Maven\maven-repository\org\projectlombok\lombok\1.18.12\lombok-1.18.12.jar" com.github.kfcfans.powerjob.server.OhMyApplication
10:29:30.841 [main] INFO com.github.kfcfans.powerjob.server.akka.OhMyServer - [OhMyServer] OhMyServer's akka system start to bootstrap...
10:29:30.886 [main] INFO com.github.kfcfans.powerjob.server.akka.OhMyServer - [OhMyWorker] akka-remote server address: 192.168.0.105:10086
10:29:34.247 [oms-server-akka.actor.default-dispatcher-5] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started
10:29:36.217 [oms-server-akka.actor.default-dispatcher-5] WARN akka.remote.RemoteActorRefProvider - Using the 'remote' ActorRefProvider directly, which is a low-level layer. For most use cases, the 'cluster' abstraction on top of remoting is more suitable instead.
10:29:36.217 [oms-server-akka.actor.default-dispatcher-5] WARN akka.remote.RemoteActorRefProvider - Akka Cluster not in use - Using Akka Cluster is recommended if you need remote watch and deploy.
10:29:41.000 [main] INFO com.github.kfcfans.powerjob.server.akka.OhMyServer - [OhMyServer] OhMyServer's akka system start successfully, using time 10.16 s.
10:29:41.616 [main] INFO org.springframework.core.KotlinDetector - Kotlin reflection implementation not found at runtime, related features won't be available.

███████ ██ ██
░██░░░░██ ░██ ░██
░██ ░██ ██████ ███ ██ █████ ██████ ░██ ██████ ░██
░███████ ██░░░░██░░██ █ ░██ ██░░░██░░██░░█ ░██ ██░░░░██░██████
░██░░░░ ░██ ░██ ░██ ███░██░███████ ░██ ░ ░██░██ ░██░██░░░██
░██ ░██ ░██ ░████░████░██░░░░ ░██ ██ ░██░██ ░██░██ ░██
░██ ░░██████ ███░ ░░░██░░██████░███ ░░█████ ░░██████ ░██████
░░ ░░░░░░ ░░░ ░░░ ░░░░░░ ░░░ ░░░░░ ░░░░░░ ░░░░░

2020-07-26 10:29:44.168 WARN 13392 --- [kground-preinit] o.s.h.c.j.Jackson2ObjectMapperBuilder : For Jackson Kotlin classes support please add "com.fasterxml.jackson.module:jackson-module-kotlin" to the classpath
2020-07-26 10:29:44.179 INFO 13392 --- [ main] c.g.k.powerjob.server.OhMyApplication : Starting OhMyApplication on LAPTOP-TC34FT7L with PID 13392 (D:\job\PowerJob-master\powerjob-server\target\classes started by HQ in D:\job\PowerJob-master)
2020-07-26 10:29:44.180 DEBUG 13392 --- [ main] c.g.k.powerjob.server.OhMyApplication : Running with Spring Boot v2.2.6.RELEASE, Spring v5.2.5.RELEASE
2020-07-26 10:29:44.180 INFO 13392 --- [ main] c.g.k.powerjob.server.OhMyApplication : The following profiles are active: daily
2020-07-26 10:29:47.642 INFO 13392 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
2020-07-26 10:29:47.642 INFO 13392 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2020-07-26 10:29:47.947 INFO 13392 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 216ms. Found 9 JPA repository interfaces.
2020-07-26 10:29:47.948 INFO 13392 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
2020-07-26 10:29:47.948 INFO 13392 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2020-07-26 10:29:47.963 INFO 13392 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 14ms. Found 1 JPA repository interfaces.
2020-07-26 10:29:56.960 WARN 13392 --- [ main] io.undertow.websockets.jsr : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
2020-07-26 10:29:57.057 INFO 13392 --- [ main] io.undertow.servlet : Initializing Spring embedded WebApplicationContext
2020-07-26 10:29:57.058 INFO 13392 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 12748 ms
2020-07-26 10:29:58.830 INFO 13392 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: corePersistenceUnit]
2020-07-26 10:29:59.709 INFO 13392 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.4.12.Final
2020-07-26 10:30:02.994 INFO 13392 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2020-07-26 10:30:03.457 INFO 13392 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2020-07-26 10:30:07.400 ERROR 13392 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.

java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836)
at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:456)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197)
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:354)
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202)
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473)
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:554)
at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115)
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:176)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:118)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1202)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1233)
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:391)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:378)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1108)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:868)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at com.github.kfcfans.powerjob.server.OhMyApplication.main(OhMyApplication.java:24)
Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)
at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:132)
at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2118)
at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2142)
at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1310)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:967)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:826)
... 49 common frames omitted

2020-07-26 10:30:07.401 WARN 13392 --- [ main] o.h.e.j.e.i.JdbcEnvironmentInitiator : HHH000342: Could not obtain connection to query metadata : The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.
2020-07-26 10:30:07.425 WARN 13392 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'coreEntityManagerFactory' defined in class path resource [com/github/kfcfans/powerjob/server/persistence/config/CoreJpaConfig.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
2020-07-26 10:30:07.439 INFO 13392 --- [ main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-07-26 10:30:07.486 ERROR 13392 --- [ main] o.s.boot.SpringApplication : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'coreEntityManagerFactory' defined in class path resource [com/github/kfcfans/powerjob/server/persistence/config/CoreJpaConfig.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1108)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:868)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at com.github.kfcfans.powerjob.server.OhMyApplication.main(OhMyApplication.java:24)
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:176)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:118)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1202)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1233)
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:391)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:378)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792)
... 16 common frames omitted
Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:100)
at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:54)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:137)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263)
... 33 common frames omitted

Process finished with exit code -1

3.数据库
image

AppName任务查看

  后台是微服务化,多个服务 引用了  powerjob-worker  ,然后 AppName 是相同的。 
想区分业务,job 上面能不能分组。 
不想切换 不同的AppName , 这样运维也有维护成功,要知道任务属于哪个 AppName。

或是 用 多个 AppName 也行, 有一个超管看到所有的任务~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.