Skip to content

Commit

Permalink
For #262.
Browse files Browse the repository at this point in the history
  • Loading branch information
haocao committed Apr 1, 2017
1 parent b99ee27 commit 6b5aa82
Show file tree
Hide file tree
Showing 10 changed files with 98 additions and 156 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@

public final class JavaMain {

private static final int EMBED_ZOOKEEPER_PORT = 4181;
private static final int EMBED_ZOOKEEPER_PORT = 2181;

private static final String ZOOKEEPER_CONNECTION_STRING = "localhost:" + EMBED_ZOOKEEPER_PORT;

Expand All @@ -62,12 +62,11 @@ public final class JavaMain {
// CHECKSTYLE:OFF
public static void main(final String[] args) throws IOException {
// CHECKSTYLE:ON
EmbedZookeeperServer.start(EMBED_ZOOKEEPER_PORT);
CoordinatorRegistryCenter regCenter = setUpRegistryCenter();
JobEventConfiguration jobEventConfig = new JobEventRdbConfiguration(setUpEventTraceDataSource());
setUpSimpleJob(regCenter, jobEventConfig);
setUpDataflowJob(regCenter, jobEventConfig);
setUpScriptJob(regCenter, jobEventConfig);
// setUpDataflowJob(regCenter, jobEventConfig);
// setUpScriptJob(regCenter, jobEventConfig);
}

private static CoordinatorRegistryCenter setUpRegistryCenter() {
Expand All @@ -87,7 +86,7 @@ private static DataSource setUpEventTraceDataSource() {
}

private static void setUpSimpleJob(final CoordinatorRegistryCenter regCenter, final JobEventConfiguration jobEventConfig) {
JobCoreConfiguration coreConfig = JobCoreConfiguration.newBuilder("javaSimpleJob", "0/5 * * * * ?", 3).shardingItemParameters("0=Beijing,1=Shanghai,2=Guangzhou").build();
JobCoreConfiguration coreConfig = JobCoreConfiguration.newBuilder("javaSimpleJob", "0/15 * * * * ?", 1).shardingItemParameters("0=Beijing,1=Shanghai,2=Guangzhou").build();
SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(coreConfig, JavaSimpleJob.class.getCanonicalName());
new JobScheduler(regCenter, LiteJobConfiguration.newBuilder(simpleJobConfig).build(), jobEventConfig).init();
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,4 @@
<script src="lib/bootstrap-table/bootstrap-table-zh-CN.js"></script>
<script src="lib/BootstrapValidator/js/bootstrapValidator.js"></script>
<script src="lib/BootstrapValidator/js/bootstrapValidator_zh_CN.js"></script>
<script src="js/job/job_config.js"></script>
<script src="js/status/job/job_config.js"></script>
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,20 @@ <h4>作业维度</h4>
<table id="jobs-status-overview-tbl" data-pagination="true" data-page-list="[10, 20, 50, 100]" data-search="true" data-show-refresh="true" data-show-toggle="true" data-striped="true" data-show-columns="true"></table>
</section>
</div>
<div class="modal" id="data-update-job" tabindex="-1" role="dialog" aria-labelledby="detailModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="update-model-size">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h2 class="modal-title">修改作业</h2>
</div>
<div class="modal-body" id="update-job-body">
</div>
</div>
</div>
</div>
</div>
<script src="lib/bootstrap-table/bootstrap-table.min.js"></script>
<script src="lib/bootstrap-table/bootstrap-table-zh-CN.js"></script>
<script src="js/status/job/jobs_status_overview.js"></script>
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,10 @@
<li><a href="#" id="event-trace-data-source" class="sub-menu"><i class="fa fa-circle-o"></i>事件追踪数据源配置</a></li>
</ul>
</li>
<li class="treeview" id="job">
<a href="#" id="job-config" class="sub-menu">
<i class="fa fa-tags">&nbsp;&nbsp;作业配置</i>
<span id="job-nav-tag" class="label label-primary pull-right"></span>
</a>
</li>
<li class="treeview" id="server">
<a href="#">
<i class="fa fa-tasks">&nbsp;&nbsp;作业操作</i><i class="pull-right fa fa-angle-left "></i>
<span id="job-nav-tag" class="label label-primary pull-right"></span>
</a>
<ul class="treeview-menu">
<li><a href="#" id="job-status" class="sub-menu"><i class="fa fa-circle-o"></i>作业维度</a></li>
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ function bindSubmitJobSettingsForm() {
success: function() {
showSuccessDialog();
$("#data-update-job").modal("hide");
$("#content").load("html/job/jobs_overview.html");
$("#jobs-status-overview-tbl").bootstrapTable("refresh");
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,30 +53,52 @@ function statusFormatter(value, row) {
}

function generateOperationButtons(val, row) {
var modifyButton = "<button operation='modify-job' class='btn-xs btn-primary' job-name='" + row.jobName + "'>修改</button>";
var shardingStatusButton = "<button operation='job-detail' class='btn-xs btn-info' job-name='" + row.jobName + "'>分片状态</button>";
var triggerButton = "<button operation='trigger-job' class='btn-xs btn-success' job-name='" + row.jobName + "'>触发</button>";
var disableButton = "<button operation='disable-job' class='btn-xs btn-warning' job-name='" + row.jobName + "'>禁用</button>";
var enableButton = "<button operation='enable-job' class='btn-xs btn-primary' job-name='" + row.jobName + "'>启用</button>";
var shutdownButton = "<button operation='shutdown-job' class='btn-xs btn-danger' job-name='" + row.jobName + "'>终止</button>";
var operationTd = shardingStatusButton + "&nbsp;";
var removeButton = "<button operation='remove-job' class='btn-xs btn-danger' job-name='" + row.jobName + "'>删除</button>";
var operationTd = modifyButton + "&nbsp;" + shardingStatusButton + "&nbsp;";
if ("OK" === row.status) {
operationTd = operationTd + triggerButton + "&nbsp;" + disableButton + "&nbsp;" + shutdownButton;
}
if ("DISABLED" === row.status || "SHARDING_ERR" === row.status) {
operationTd = operationTd + enableButton + "&nbsp;" + shutdownButton;
}
if ("CRASHED" === row.status) {
operationTd = "";
operationTd =removeButton;
}
return operationTd;
}

function bindButtons() {
bindModifyButton();
bindShardingStatusButton();
bindTriggerButton();
bindShutdownButton();
bindDisableButton();
bindEnableButton();
bindRemoveButton();
}

function bindModifyButton() {
$(document).on("click", "button[operation='modify-job'][data-toggle!='modal']", function(event) {
var jobName = $(event.currentTarget).attr("job-name");
$.ajax({
url: "/api/jobs/config/" + jobName,
success: function(data) {
if (null !== data) {
$(".box-body").remove();
$('#update-job-body').load('html/status/job/job_config.html', null, function() {
$('#data-update-job').modal({backdrop : 'static', keyboard : true});
renderJob(data);
});
}
}
});
});
}

function bindShardingStatusButton() {
Expand Down Expand Up @@ -142,3 +164,53 @@ function bindShutdownButton() {
});
});
}

function bindRemoveButton() {
$(document).on("click", "button[operation='remove-job'][data-toggle!='modal']", function(event) {
var jobName = $(event.currentTarget).attr("job-name");
$("#delete-confirm-dialog").modal({backdrop: 'static', keyboard: true});
$(document).off("click", "#delete-confirm-dialog-confirm-btn");
$(document).on("click", "#delete-confirm-dialog-confirm-btn", function() {
$.ajax({
url: "/api/jobs/config/" + jobName,
type: "DELETE",
success: function() {
showSuccessDialog();
$("#jobs-status-overview-tbl").bootstrapTable("refresh");
$("#delete-confirm-dialog").modal("hide");
$(".modal-backdrop").remove();
$("body").removeClass("modal-open");
refreshJobNavTag();
}
});
});
});
}

function renderJob(data) {
$("#job-name").attr("value", data.jobName);
$("#job-type").attr("value", data.jobType);
$("#job-class").attr("value", data.jobClass);
$("#sharding-total-count").attr("value", data.shardingTotalCount);
$("#cron").attr("value", data.cron);
$("#sharding-item-parameters").text(data.shardingItemParameters);
$("#job-parameter").attr("value", data.jobParameter);
$("#monitor-execution").attr("checked", data.monitorExecution);
$("#failover").attr("checked", data.failover);
$("#misfire").attr("checked", data.misfire);
$("#streaming-process").attr("checked", data.streamingProcess);
$("#max-time-diff-seconds").attr("value", data.maxTimeDiffSeconds);
$("#monitor-port").attr("value", data.monitorPort);
$("#job-sharding-strategy-class").attr("value", data.jobShardingStrategyClass);
$("#executor-service-handler").attr("value", data.jobProperties["executor_service_handler"]);
$("#job-exception-handler").attr("value", data.jobProperties["job_exception_handler"]);
$("#reconcile-cycle-time").attr("value", data.reconcileCycleTime);
$("#description").text(data.description);
$("#script-command-line").attr("value", data.scriptCommandLine);
if ("DATAFLOW" === $("#job-type").val()) {
$("#streaming-process-group").show();
}
if ("SCRIPT" === $("#job-type").val()) {
$("#script-commandLine-group").show();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ public void remove(final Optional<String> jobName, final Optional<String> server
for (String each : servers) {
regCenter.remove(jobNodePath.getServerNodePath(each));
}
regCenter.remove("/" + jobName.get());
} else if (serverIp.isPresent()) {
List<String> jobNames = regCenter.getChildrenKeys("/");
for (String each : jobNames) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,10 @@ public void assertRemoveWithJobName() {
verify(regCenter).getChildrenKeys("/test_job/servers");
verify(regCenter).remove("/test_job/servers/ip1");
verify(regCenter).remove("/test_job/servers/ip2");
verify(regCenter).remove("/test_job");
assertFalse(regCenter.isExisted("/test_job/servers/ip1"));
assertFalse(regCenter.isExisted("/test_job/servers/ip2"));
assertFalse(regCenter.isExisted("/test_job"));
}

@Test
Expand Down

0 comments on commit 6b5aa82

Please sign in to comment.