Git Product home page Git Product logo

openjob's People

Contributors

dependabot[bot] avatar inhere avatar sakuraovq avatar stelin avatar xiaoshazhe avatar xinzhuxiansheng avatar yuhai0 avatar zjcscut avatar

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

openjob's Issues

延迟任务-超时时间不生效

System (please complete the following information):

  • OS: linux [e.g. linux, macOS, windows]
  • JAVA Version: 1.13 [e.g. 1.13]
  • Pkg Version: 1.1.1 [e.g. 1.1.1]

Describe the bug

openjob管理后台创建延迟任务,然后更新任务的超时时间,测试结果:任务达到设定的超时时间后,并没有终止掉这个任务,仍在继续执行,最后执行成功了。

To Reproduce

// java code

Expected behavior
排查了下,db中的延迟任务配置跟缓存的不一致,可能是更新任务配置的时候,未处理缓存

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

H2数据库,使用时候,子任务会一直报错,超时

[WARN] [02/21/2024 13:58:26.650] [Openjob-initialize-thread] [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.
[WARN] [02/21/2024 13:58:26.650] [Openjob-initialize-thread] [akka.remote.RemoteActorRefProvider] Akka Cluster not in use - Using Akka Cluster is recommended if you need remote watch and deploy.
[INFO] [02/21/2024 13:58:26.899] [Openjob-initialize-thread] [ArteryTransport(akka://openjob-worker)] Remoting started with transport [Artery tcp]; listening on address [akka://[email protected]:25588] with UID [4844873213332236743]
2024-02-21 13:58:27,055[INFO]io.openjob.worker.init.WorkerActorSystem.init:71Worker actor system started,address=akka://[email protected]:25588
RecoveryCompleted
RecoveryCompleted
2024-02-21 13:58:27,640[INFO]io.openjob.worker.init.WorkerRegister.register:39Register worker success. serverAddress=192.168.1.6 workerAddress=192.168.1.6:25588
2024-02-21 13:58:27,640[INFO]io.openjob.worker.init.WorkerContext.init:36Worker context initialized! appId=1 onlineWorkers=[192.168.1.6:25588]
2024-02-21 13:58:27,646[INFO]io.openjob.worker.OpenjobWorker.lambda$init$0:85Openjob worker initialize complete!
2024-02-21 13:58:27,653[INFO]com.zaxxer.hikari.HikariDataSource.getConnection:110HikariPool-1 - Starting...
2024-02-21 13:58:27,852[INFO]com.zaxxer.hikari.HikariDataSource.getConnection:123HikariPool-1 - Start completed.
2024-02-21 13:58:35,683[ERROR]io.openjob.worker.init.WorkerHeartbeat.doWorkerHeartbeat:102Worker heartbeat fail. serverAddress=192.168.1.6 workerAddress=192.168.1.6:25588 failTimes=1
java.lang.RuntimeException: Must ask fail! path=/user/worker-delay-instance anchor=akka://[email protected]:25520/
at io.openjob.common.util.FutureUtil.mustAsk(FutureUtil.java:46)
at io.openjob.worker.delay.DelayTaskMaster.refresh(DelayTaskMaster.java:53)
at io.openjob.worker.delay.DelayManager.refresh(DelayManager.java:69)
at io.openjob.worker.init.WorkerHeartbeat.refresh(WorkerHeartbeat.java:123)
at io.openjob.worker.init.WorkerHeartbeat.doWorkerHeartbeat(WorkerHeartbeat.java:96)
at io.openjob.worker.init.WorkerHeartbeat.lambda$init$0(WorkerHeartbeat.java:65)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)
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:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.TimeoutException: Future timed out after [3000 milliseconds]
at scala.concurrent.impl.Promise$DefaultPromise.tryAwait0(Promise.scala:248)
at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:261)
at scala.concurrent.Await$.$anonfun$result$1(package.scala:201)
at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:62)
at scala.concurrent.Await$.result(package.scala:124)
at scala.concurrent.Await.result(package.scala)
at io.openjob.common.util.FutureUtil.mustAsk(FutureUtil.java:38)
... 13 common frames omitted
2024-02-21 13:58:40,652[ERROR]io.openjob.worker.init.WorkerHeartbeat.doWorkerHeartbeat:102Worker heartbeat fail. serverAddress=192.168.1.6 workerAddress=192.168.1.6:25588 failTimes=2
java.lang.RuntimeException: Must ask fail! path=/user/worker-delay-instance anchor=akka://[email protected]:25520/
at io.openjob.common.util.FutureUtil.mustAsk(FutureUtil.java:46)
at io.openjob.worker.delay.DelayTaskMaster.refresh(DelayTaskMaster.java:53)
at io.openjob.worker.delay.DelayManager.refresh(DelayManager.java:69)
at io.openjob.worker.init.WorkerHeartbeat.refresh(WorkerHeartbeat.java:123)
at io.openjob.worker.init.WorkerHeartbeat.doWorkerHeartbeat(WorkerHeartbeat.java:96)
at io.openjob.worker.init.WorkerHeartbeat.lambda$init$0(WorkerHeartbeat.java:65)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)
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:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.TimeoutException: Future timed out after [3000 milliseconds]
at scala.concurrent.impl.Promise$DefaultPromise.tryAwait0(Promise.scala:248)
at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:261)
at scala.concurrent.Await$.$anonfun$result$1(package.scala:201)
at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:62)
at scala.concurrent.Await$.result(package.scala:124)
at scala.concurrent.Await.result(package.scala)
at io.openjob.common.util.FutureUtil.mustAsk(FutureUtil.java:38)
... 13 common frames omitted
2024-02-21 13:58:40,652[INFO]io.openjob.worker.init.WorkerHeartbeat.doWorkerHeartbeat:105Begin to refresh server! server=192.168.1.6 port=25520 failTimes=2
2024-02-21 13:58:40,677[INFO]io.openjob.worker.init.WorkerConfig.refreshServer:137Refresh server success! server=192.168.1.6 port=25520

首次登录就报错了

System (please complete the following information):

  • OS: linux [e.g. linux, macOS, windows]
  • JAVA Version: 1.13 [e.g. 1.13]
  • Pkg Version: 1.1.1 [e.g. 1.1.1]

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

// java code

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots
image

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

希望可以提供一个 用starter引入的方式 搭建openjob-server

非常希望可以提供一个便捷集成server的starter 类似于 spring-boot-admin-starter-server 引入即可形成server服务
更方便更灵活的集成方式 也便于扩展和自定义处理一些项目中的东西
例如: 改造成微服务 需要对接 注册中心 配置中心 普罗米修斯监控 k8s 等一些

这是我整合powerjob的过程和遇到的一些问题还有解决方案 希望openjob也可以提供一个便于集成的依赖包

https://gitee.com/KFCFans/PowerJob/issues/I6DN40
https://gitee.com/dromara/RuoYi-Vue-Plus/pulls/359

System (please complete the following information):

  • OS: linux [e.g. linux, macOS, windows]
  • JAVA Version: 1.13 [e.g. 1.13]
  • Pkg Version: 1.1.1 [e.g. 1.1.1]

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

// java code

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

工作流和DAG功能没有啊?

System (please complete the following information):

  • OS: linux [e.g. linux, macOS, windows]
  • JAVA Version: 1.13 [e.g. 1.13]
  • Pkg Version: 1.1.1 [e.g. 1.1.1]

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

// java code

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

springboot 3.1.4 集成openjob,无工作节点

System (please complete the following information):

  • OS: linux [e.g. linux, macOS, windows]
  • JAVA Version: 17 [e.g. 1.13]
  • Pkg Version: 1.1.1 [e.g. 1.1.1]

Describe the bug
springboot 3.1.4 集成openjob,无工作节点,server报错

目前发现是未正确读取yml文件造成worker没有初始化

To Reproduce
application.yml 配置文件

spring:
  openjob:
    enable: true                          # 是否开启
    server:
      address: http://192.168.8.133:8080  # Server 集群地址
    worker:
      heartbeat-interval: 5               # 心跳时间,单位秒
      host: 192.168.8.133                     # Worker host
      port: 25588                         # Worker prot
      app-name: openjob                   # 应用名称,必须配置
    actor:
      heartbeat-num: 1                   # 心跳 actor 最大数量
      task-master-num: 32                # 任务 Master actor 最大数量
      task-container-num: 32             # 任务 Container actor 最大数量
      persistent-num: 2                  # 持久化 actor 最大数量
      delay-master-num: 1                # 延时任务 Master actor 最大数量
    delay:
      enable: false                    # 是否开启延时任务
      pull-size: 8                     # 延时任务拉取数量
      pull-sleep: 500L                 # 延时任务拉取空闲休眠时间,单位毫秒
      pull-step: 500L                  # 延时任务主题空闲休眠步长时间,单位毫秒
      timeout: 3000L                   # 延时任务发送超时时间,单位毫秒

Expected behavior

Screenshots
工作站节点:
image

Server报错日志:
image

Additional context

和powerjob对比的有不

我看了一眼,发现和powerjob设计也很像啊。也有工作流,不过那个还支持DAG。xxl-job下一版本也是准备加入DAG。最好是加上powerjob对比吧。其它几个对比感觉已经意义不大,都落伍了。

执行器是docker容器化部署,worker host应该怎么填

System (please complete the following information):

  • OS: linux [e.g. linux, macOS, windows]
  • JAVA Version: 1.13 [e.g. 1.13]
  • Pkg Version: 1.1.1 [e.g. 1.1.1]

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

// java code

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

openjob管理后台注册节点显示错误,不是实际注册的应用

System (please complete the following information):

  • OS: linux [e.g. linux, macOS, windows]
  • JAVA Version: 1.13 [e.g. 1.13]
  • Pkg Version: 1.1.1 [e.g. 1.1.1]

Describe the bug
复现场景:
本地A服务的workder节点注册后,后台注册节点显示的A服务(正常),然后关掉A服务,B服务使用A服务的节点地址,后台注册节点仍然显示的是A服务,这样后续在执行任务的时候,会找不到服务的任务。
解决方式:

  1. 本地同时使用多服务注册节点,可以绑定不同端口
  2. openjob 发现节点地址相同,去更新应用名称
    To Reproduce
// java code

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

本地客户端如何连接远程的server?

当我把openjob-server 部署到云服务器上,同时配置akka {AKKA_REMOTE_HOSTNAME} 为 公网ip地址,{AKKA_BIND_HOSTNAME}为当前服务器真实ip , 我本地连接却报错 Openjob worker initialize failed! java.lang.RuntimeException: Must ask fail! path=/user/worker anchor=akka://openjob-server@公网ip地址:25520/的异常

日志集成报错

客户端是SpringBoot+Logback,当logger.info()打印一个比较长的文本日志时会报错如下,同时服务端任务日志中为空,未接收到日志内容。
[ERROR] [07/05/2023 18:35:01.024] [openjob-worker-akka.remote.default-remote-dispatcher-8] [Encoder(akka://openjob-worker)] Failed to serialize oversized message [ActorSelectionMessage(io.openjob.common.request.WorkerJobInstanceTaskLogRequest)].
akka.remote.OversizedPayloadException: Discarding oversized payload sent to Some(Actor[akka://[email protected]:25520/]): max allowed size 262144 bytes. Message type [ActorSelectionMessage(io.openjob.common.request.WorkerJobInstanceTaskLogRequest)].

没看明白我怎么才能有工作节点呢?我dockercompose

System (please complete the following information):

  • OS: linux [e.g. linux, macOS, windows]
  • JAVA Version: 1.13 [e.g. 1.13]
  • Pkg Version: 1.1.1 [e.g. 1.1.1]

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

// java code

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

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.