Skip to content

Commit

Permalink
trigger job cron
Browse files Browse the repository at this point in the history
  • Loading branch information
getrebuild committed Jan 15, 2025
1 parent 5332c72 commit 2fdfe2f
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 28 deletions.
2 changes: 1 addition & 1 deletion @rbv
Submodule @rbv updated from 3e4b5e to 065eb8
27 changes: 17 additions & 10 deletions src/main/resources/web/admin/robot/trigger-design.html
Original file line number Diff line number Diff line change
Expand Up @@ -100,17 +100,24 @@
<option value="D">[[${bundle.L('每天')}]]</option>
<option value="H">[[${bundle.L('每小时')}]]</option>
<option value="M">[[${bundle.L('每月')}]]</option>
<option value="cron">[[${bundle.L('表达式')}]]</option>
</select>
<span>[[${bundle.L('执行')}]]</span>
<input type="text" class="J_whenTimer2" placeholder="1" />
<span>[[${bundle.L('次')}]]</span>
<span class="ml-2">[[${bundle.L('执行时段')}]]</span>
<select class="J_startHour1"></select>
<span>~</span>
<select class="J_startHour2"></select>
<span class="bosskey-show">
<span class="ml-2">[[${bundle.L('执行日期')}]] (LAB)</span>
<input type="text" class="J_whenTimer4 w-auto" placeholder="eg. 1,2,15,30" />
<span class="J_timerSimple">
<span>[[${bundle.L('执行')}]]</span>
<input type="text" class="J_whenTimer2" placeholder="1" />
<span>[[${bundle.L('次')}]]</span>
<span class="ml-2">[[${bundle.L('执行时段')}]]</span>
<select class="J_startHour1"></select>
<span>~</span>
<select class="J_startHour2"></select>
<span class="bosskey-show">
<span class="ml-2">[[${bundle.L('执行日期')}]] (LAB)</span>
<input type="text" class="J_whenTimer4 w-auto" placeholder="eg. 1,2,15,30" />
</span>
</span>
<span class="J_timerCron hide">
<span>[[${bundle.L('CRON 表达式')}]]</span>
<input type="text" class="J_whenTimer9 text-bold" placeholder="0 0 * * * ?" value="0 0 * * * ?" style="width: 120px" />
</span>
</div>
<p class="form-text">[[${bundle.L('具体执行时间将在你设定的周期内平均分布。例如每天执行 2 次,其执行时间为 00:00 和 12:00')}]]</p>
Expand Down
10 changes: 6 additions & 4 deletions src/main/resources/web/assets/js/rb-components.js
Original file line number Diff line number Diff line change
Expand Up @@ -473,14 +473,16 @@ class RbAlertBox extends React.Component {
if (!icon) icon = type === 'success' ? 'check' : type === 'danger' ? 'close-circle-o' : 'info-outline'

return (
<div className={`alert alert-icon alert-icon-border alert-dismissible alert-sm alert-${type} ${props.className || ''}`} ref={(c) => (this._element = c)}>
<div className={`alert alert-icon alert-icon-border alert-sm alert-${type} ${props.unclose ? '' : 'alert-dismissible'} ${props.className || ''}`} ref={(c) => (this._element = c)}>
<div className="icon">
<i className={`zmdi zmdi-${icon}`} />
</div>
<div className="message">
<a className="close" onClick={() => this._handleClose()} title={$L('关闭')} data-dismiss="alert">
<i className="zmdi zmdi-close" />
</a>
{props.unclose ? null : (
<a className="close" onClick={() => this._handleClose()} title={$L('关闭')} data-dismiss="alert">
<i className="zmdi zmdi-close" />
</a>
)}
<div>{props.message || 'INMESSAGE'}</div>
</div>
</div>
Expand Down
43 changes: 30 additions & 13 deletions src/main/resources/web/assets/js/trigger/trigger-design.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,21 @@ $(document).ready(() => {
})
$('.J_startHour2').val('23')

$('.J_whenTimer1').on('change', function (e) {
if (e.target.value === 'cron') {
$('.J_timerSimple').addClass('hide')
$('.J_timerCron').removeClass('hide')
} else {
$('.J_timerSimple').removeClass('hide')
$('.J_timerCron').addClass('hide')
}
})
function _buildWhenTimer() {
let wt = $('.J_whenTimer1').val() || 'D'
if (wt === 'cron') return wt + ':' + ($('.J_whenTimer9').val() || '0 0 * * * ?')
return wt + `:${$('.J_whenTimer2').val() || 1}:${$('.J_startHour1').val() || 0}:${$('.J_startHour2').val() || 23}:${$('.J_whenTimer4').val() || ''}`
}

if (wpc.when > 0) {
$([1, 2, 4, 16, 32, 64, 128, 256, 512, 1024, 2048]).each(function () {
let mask = this
Expand All @@ -42,13 +57,17 @@ $(document).ready(() => {
$('.on-timers').removeClass('hide')
const wt = (wpc.whenTimer || 'D:1').split(':')
$('.J_whenTimer1').val(wt[0])
$('.J_whenTimer2').val(wt[1])
// v2.9
if (wt[2]) $('.J_startHour1').val(wt[2])
if (wt[3]) $('.J_startHour2').val(wt[3])
// v3.8
if (wt[4]) $('.J_whenTimer4').val(wt[4]).parents('.bosskey-show').removeClass('bosskey-show')

// v4.0
if (wt[0] === 'cron') {
$('.J_whenTimer9').val(wt[1])
} else {
$('.J_whenTimer2').val(wt[1])
// v2.9
if (wt[2]) $('.J_startHour1').val(wt[2])
if (wt[3]) $('.J_startHour2').val(wt[3])
// v3.8
if (wt[4]) $('.J_whenTimer4').val(wt[4]).parents('.bosskey-show').removeClass('bosskey-show')
}
$('.J_whenTimer1').trigger('change')
}
}
Expand All @@ -57,15 +76,15 @@ $(document).ready(() => {

// 评估具体执行时间
function evalTriggerTimes() {
const whenTimer = `${$('.J_whenTimer1').val() || 'D'}:${$('.J_whenTimer2').val() || 1}:${$('.J_startHour1').val() || 0}:${$('.J_startHour2').val() || 23}:${$('.J_whenTimer4').val() || ''}`
$.get(`/admin/robot/trigger/eval-trigger-times?whenTimer=${whenTimer}`, (res) => {
$.get(`/admin/robot/trigger/eval-trigger-times?whenTimer=${_buildWhenTimer()}`, (res) => {
renderRbcomp(
<RbAlertBox
unclose
icon="time"
message={
<div>
<span className="mr-1">{$L('预计执行时间 (最多显示近 9 次)')} : </span>
<code>{res.data.slice(0, 9).join(', ')}</code>
<code>{res.data.length > 0 ? res.data.slice(0, 9).join(', ') : $L('无')}</code>
</div>
}
/>,
Expand Down Expand Up @@ -143,16 +162,14 @@ $(document).ready(() => {
return
}

const whenTimer = `${$('.J_whenTimer1').val() || 'D'}:${$('.J_whenTimer2').val() || 1}:${$('.J_startHour1').val() || 0}:${$('.J_startHour2').val() || 23}:${$('.J_whenTimer4').val() || ''}`

const content = contentComp.buildContent()
if (content === false) return

if (window.whenUpdateFields) content.whenUpdateFields = window.whenUpdateFields
if (window.whenApproveNodes) content.whenApproveNodes = window.whenApproveNodes
const data = {
when: when,
whenTimer: whenTimer,
whenTimer: _buildWhenTimer(),
whenFilter: wpc.whenFilter || null,
actionContent: content,
metadata: {
Expand Down

0 comments on commit 2fdfe2f

Please sign in to comment.