Добавил еще ведущие нули к миллисекундам, если кому-то еще когда-то этот код понадобится
log = function (text, color, define){ var id, time, thread, logHtml, textLog; define = (typeof define == 'string') ? define.split(/[\s,.|:;]+/g) : define; if(typeof define === 'object' && define !== null){ if(Array.isArray(define)){ id = define.indexOf('id') > -1; time = define.indexOf('time') > -1; thread = define.indexOf('thread') > -1; } else{ id = define.id == true; time = define.time == true; thread = define.thread == true; } } else id = time = thread = true; id = id ? '<a href="action://action' + ScriptWorker.GetCurrentAction() + '" style="color:gray;">[' + ScriptWorker.GetCurrentAction() + ']</a>' : ''; time = time ? ' ' + getTime() : ''; thread = thread ? ' Поток №' + thread_number() : ''; logHtml = (id || time || thread) ? id + '<span style="color: white">' + time + thread + ' : </span>' : ''; logHtml += '<span style="color:' + (color ? color : 'white') + '">' + text + '</span>'; textLog = '[' + ScriptWorker.GetCurrentAction() + ']' + time + thread + ' : ' + text function getTime(){ var checkTime = function(i){ return (i < 10) ? "0" + i : i; }; var checkMilliSeconds = function(ms){ if (ms < 10) { return "00" + ms; } else if (ms < 100) { return "0" + ms; } else { return ms; } }; var d = new Date(); var hh = checkTime(d.getHours()); var mm = checkTime(d.getMinutes()); var ss = checkTime(d.getSeconds()); var ms = checkMilliSeconds(d.getMilliseconds()); return '[' + hh + ':' + mm + ':' + ss + '.' + ms + ']'; }; Logger.WriteHtml(logHtml, textLog); }Автоматическое изменение действия через заданное время.
-
Я хотел бы знать, может ли мой сценарий автоматически изменять свое действие по истечении определенного мной времени.
Пример: воспроизводит повторение в «UR1» в течение 1 часа, даже если есть ошибки и потоки закрыты, он продолжит выполнение «URL1» в течение 1 часа. Через 1 час он автоматически выполнит действие «URL2», и даже если есть ошибки и потоки закрыты, он продолжит выполнение действия «URL2» даже для недавно перезапущенных потоков.
SCRIPT: Test.xml
Если вы можете изменить мой сценарий и опубликовать его в качестве ответа, он будет более полезен, спасибо
-
@Escobar
There are special blocks in the date and time section. You can point out the start time before the while loop. You can place blocks inside the loop to get the time now and the difference between dates. The difference between dates will be calculated in seconds by default. Then it is reasonable to set the while block condition: [difference between dates] < 3600.