123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- $(function () {
- // trigger fail, end
- if (!(triggerCode == 200 || handleCode != 0)) {
- $('#logConsoleRunning').hide();
- $('#logConsole').append('<span style="color: red;">' + I18n.joblog_rolling_log_triggerfail + '</span>');
- return;
- }
- // pull log
- var fromLineNum = 1; // [from, to], start as 1
- var pullFailCount = 0;
- function pullLog() {
- // pullFailCount, max=20
- if (pullFailCount++ > 20) {
- logRunStop('<span style="color: red;">' + I18n.joblog_rolling_log_failoften + '</span>');
- return;
- }
- // load
- console.log("pullLog, fromLineNum:" + fromLineNum);
- $.ajax({
- type: 'POST',
- async: false, // sync, make log ordered
- url: base_url + '/joblog/logDetailCat',
- data: {
- "executorAddress": executorAddress,
- "triggerTime": triggerTime,
- "logId": logId,
- "fromLineNum": fromLineNum
- },
- dataType: "json",
- success: function (data) {
- if (data.code == 200) {
- if (!data.content) {
- console.log('pullLog fail');
- return;
- }
- if (fromLineNum != data.content.fromLineNum) {
- console.log('pullLog fromLineNum not match');
- return;
- }
- if (fromLineNum > data.content.toLineNum) {
- console.log('pullLog already line-end');
- // valid end
- if (data.content.end) {
- logRunStop('<br><span style="color: green;">[Rolling Log Finish]</span>');
- return;
- }
- return;
- }
- // append content
- fromLineNum = data.content.toLineNum + 1;
- $('#logConsole').append(data.content.logContent);
- pullFailCount = 0;
- // scroll to bottom
- scrollTo(0, document.body.scrollHeight); // $('#logConsolePre').scrollTop( document.body.scrollHeight + 300 );
- } else {
- console.log('pullLog fail:' + data.msg);
- }
- }
- });
- }
- // pull first page
- pullLog();
- // handler already callback, end
- if (handleCode > 0) {
- logRunStop('<br><span style="color: green;">[Load Log Finish]</span>');
- return;
- }
- // round until end
- var logRun = setInterval(function () {
- pullLog()
- }, 3000);
- function logRunStop(content) {
- $('#logConsoleRunning').hide();
- logRun = window.clearInterval(logRun);
- $('#logConsole').append(content);
- }
- });
|