Giter Club home page Giter Club logo

powerjob-console'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-console's People

Contributors

dependabot[bot] avatar echo009 avatar fengnan0929 avatar kfcfans avatar lishangbu avatar zhaodeezhu 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

powerjob-console's Issues

新增一键构建PowerJob-Console镜像脚本

1、在源代码根目录新增Dockerfile文件

#第一个阶段:拉取node镜像来打包 Vue 项目,as build是给该阶段起名字
FROM node:10.24.1-buster as build

#RUN apt-get update && apt-get install -y --no-install-recommends python3 python3-pip && rm -rf /var/lib/apt/lists/*

#设置docker命令的运行目录,工作空间
WORKDIR /app


# 复制src等目录文件到工作空间中 必入 COPY src src/ 表示复制当前src文件夹中的内容到 工作空间(无则创建文件夹)
COPY public /app/public
COPY src /app/src
COPY package.json /app/package.json
COPY babel.config.js /app/babel.config.js
COPY vue.config.js /app/vue.config.js
COPY LICENSE /app/LICENSE

RUN npm set registry https://registry.npm.taobao.org
RUN npm install
RUN npm run build

# 第二个阶段:创建并运行Nginx服务器,并且把打包好的文件复制到服务器文件夹中

FROM nginx:1.25.2-bookworm
LABEL org.opencontainers.image.authors="[email protected]"

COPY --from=build /app/dist/ /usr/share/nginx/html/
EXPOSE 80
CMD ["/bin/bash", "-c", "sed -i \"s@<html@<html vue-app-base-url=\"$VUE_APP_BASE_URL\"@\" /usr/share/nginx/html/index.html; nginx -g \"daemon off;\""]


2、修改PowerJob-Console项目的main.js

//let baseURL = process.env.VUE_APP_BASE_URL;

let baseURL = document.querySelector("html").getAttribute("vue-app-base-url");
if (baseURL) {
  Vue.prototype.$baseURL = `${baseURL}`;
}
else
{
  baseURL = process.env.VUE_APP_BASE_URL;
}

3、运行方式

docker run -p 20086:80 -e VUE_APP_BASE_URL="http://localhost:1080/api" -d -t tjqq/oms-console:1.0.1

worker与server通信失败

我这边用的是3.2.3版本

出现的现象

  1. worker正常
  2. server的web ui中,没有显示机器地址,server发送定时任务失败
  3. 同一台服务器启动多个worker(通信端口不一样),也会出现部分worker被踢的现象,而关闭其中一个worker,另一个"被踢"的worker又能显示且正常连接

问题咨询

1、dag信息管理这块,为嘛只单独将node拆分成独立的表,edge直接维护到了工作流表
2、为什么把条件设置到判断节点(网关),线(edge)上设置是不是更灵活

Not able to build & run console

I tried step 3 in https://www.yuque.com/powerjob/en/sq8uml#tgMGS
When executing: "npm install" I am getting a bunch of deprecated warnings and errors.
e.g.
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibilitynpm WARN deprecated [email protected]: See https://github.com/lydell/source-map-resolve#deprecated

npm ERR! code 1
npm ERR! path C:\workspace\PowerJob-Console\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\windows\system32\cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:\Program Files\nodejs\node.exe C:\workspace\PowerJob-Console\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=

npm ERR! gyp ERR! cwd C:\workspace\PowerJob-Console\node_modules\node-sass
npm ERR! gyp ERR! node -v v18.12.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

Can you please advice further?

Thank you!

前端部分按钮点击无效

1.任务管理“”关键字“”查询提交的时候会把当前页码提交到后端,造成查询不到数据,
2.任务管理点击任务选项的更多按钮中的复制按钮,经常出现点击无效或连续点击多次才触发复制任务请求接口

npm install 失败

系统版本:debian-11.7
内核版本:5.10.0-23-amd64
系统类型:x86_64
node版本:18.16.1
npm版本:9.5.1

报错:npm ERR! code 1
npm ERR! path /home/app/docker/powerjob/powerjob-console/node_modules/node-sass
npm ERR! command failed
npm ERR! command sh -c node scripts/build.js
npm ERR! Building: /usr/bin/node /home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli '/usr/bin/node',
npm ERR! gyp verb cli '/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/bin/node-gyp.js',
npm ERR! gyp verb cli 'rebuild',
npm ERR! gyp verb cli '--verbose',
npm ERR! gyp verb cli '--libsass_ext=',
npm ERR! gyp verb cli '--libsass_cflags=',
npm ERR! gyp verb cli '--libsass_ldflags=',
npm ERR! gyp verb cli '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | linux | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb which succeeded python2 /usr/bin/python2
npm ERR! gyp verb check python version /usr/bin/python2 -c "import sys; print "2.7.18 npm ERR! gyp verb check python version .%s.%s" % sys.version_info[:3];" returned: %j
npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 18.16.1
npm ERR! gyp verb command install [ '18.16.1' ]
npm ERR! gyp verb install input version string "18.16.1"
npm ERR! gyp verb install installing version: 18.16.1
npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed
npm ERR! gyp verb install version is already installed, need to check "installVersion"
npm ERR! gyp verb got "installVersion" 9
npm ERR! gyp verb needs "installVersion" 9
npm ERR! gyp verb install version is good
npm ERR! gyp verb get node dir target node version installed: 18.16.1
npm ERR! gyp verb build dir attempting to create "build" dir: /home/app/docker/powerjob/powerjob-console/node_modules/node-sass/build
npm ERR! gyp verb build dir "build" dir needed to be created? /home/app/docker/powerjob/powerjob-console/node_modules/node-sass/build
npm ERR! gyp verb build/config.gypi creating config file
npm ERR! gyp verb build/config.gypi writing out config file: /home/app/docker/powerjob/powerjob-console/node_modules/node-sass/build/config.gypi
npm ERR! (node:542463) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
npm ERR! (Use node --trace-deprecation ... to show where the warning was created)
npm ERR! gyp verb config.gypi checking for gypi file: /home/app/docker/powerjob/powerjob-console/node_modules/node-sass/config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: /home/app/docker/powerjob/powerjob-console/node_modules/node-sass/common.gypi
npm ERR! gyp verb gyp gyp format was not specified; forcing "make"
npm ERR! gyp info spawn /usr/bin/python2
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/app/docker/powerjob/powerjob-console/node_modules/node-sass/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/root/.node-gyp/18.16.1/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/root/.node-gyp/18.16.1',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/root/.node-gyp/18.16.1/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/home/app/docker/powerjob/powerjob-console/node_modules/node-sass',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! Traceback (most recent call last):
npm ERR! File "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/gyp_main.py", line 16, in
npm ERR! sys.exit(gyp.script_main())
npm ERR! File "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 545, in script_main
npm ERR! return main(sys.argv[1:])
npm ERR! File "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 538, in main
npm ERR! return gyp_main(args)
npm ERR! File "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 514, in gyp_main

npm ERR! options.duplicate_basename_check)
npm ERR! File "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/pylib/gyp/init.py", line 130, in Load
npm ERR! params['parallel'], params['root_targets'])
npm ERR! File "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 2783, in Load
npm ERR! variables, includes, depth, check, True)
npm ERR! File "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 399, in LoadTargetBuildFile
npm ERR! includes, True, check)
npm ERR! File "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 271, in LoadOneBuildFile
npm ERR! aux_data, includes, check)
npm ERR! File "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 308, in LoadBuildFileIncludesIntoDict
npm ERR! LoadOneBuildFile(include, data, aux_data, None, False, check),
npm ERR! File "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 251, in LoadOneBuildFile
npm ERR! None)
npm ERR! File "/root/.node-gyp/18.16.1/include/node/common.gypi", line 1
npm ERR! e_data_file_flag%': 1
npm ERR! ^
npm ERR! SyntaxError: EOL while scanning string literal
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: gyp failed with exit code: 1
npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/lib/configure.js:345:16)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28)
npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:291:12)
npm ERR! gyp ERR! System Linux 5.10.0-23-amd64
npm ERR! gyp ERR! command "/usr/bin/node" "/home/app/docker/powerjob/powerjob-console/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd /home/app/docker/powerjob/powerjob-console/node_modules/node-sass
npm ERR! gyp ERR! node -v v18.16.1
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2023-07-12T10_26_34_298Z-debug-0.log

/root/.npm/_logs/2023-07-12T10_26_34_298Z-debug-0.log日志:

2023-07-12T10_26_34_298Z-debug-0.log

Single-Sign-On

Are there any plans to support OIDC for the dashboard or integrate the Dashboard in Spring Boot, so there is no need to start its own webserver. Then the whole security configuration can be handled by Spring Security.
I want to be able to implement my own security mechanism like OAuth to protect dashboard and API.

任务参数文本框优化

像shell、python此类处理器的任务参数不止一行,任务参数输入框能否加入Ace Editor此类的在线代码编辑器

改进任务或其他填写框

填写任务参数时,会弹出填写框,若点到框框外面,甚至为了复制粘贴,选取文字时不小心拖到框外,就会使得该框消失,当重新点击进入该框时,之前填写的参数都消失了,很影响体验,望改进

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.