Добавил еще ведущие нули к миллисекундам, если кому-то еще когда-то этот код понадобится
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); }Ресурс в многопотоке путается.
-
Добрый вечер. Создаю ресурс на лету в скрипте. Гружу туда данные из файла у меня путаются строки со строками из других файлов. Скрипт многопоточный.
В программе есть примечание такое в меню создания ресурсов. ```Настоятельно рекомендуется не использовать это действие в коде, который работает в нескольких потоках, потому что каждый поток создаст свой новый ресурс, и это, вероятно, не то, что вам нужно.Как мне рандомно использовать грузить строки из файла?
-
@Kodak said in Ресурс в многопотоке путается.:
Добрый вечер. Создаю ресурс на лету в скрипте. Гружу туда данные из файла у меня путаются строки со строками из других файлов. Скрипт многопоточный.
В программе есть примечание такое в меню создания ресурсов. ```Настоятельно рекомендуется не использовать это действие в коде, который работает в нескольких потоках, потому что каждый поток создаст свой новый ресурс, и это, вероятно, не то, что вам нужно.Как мне рандомно использовать грузить строки из файла?
ресурсы глобальны, то есть если вы в каждом потоке вновь создаёте ресурс, то он пересоздаётся каждый раз
-
@Fox said in Ресурс в многопотоке путается.:
@Kodak said in Ресурс в многопотоке путается.:
Добрый вечер. Создаю ресурс на лету в скрипте. Гружу туда данные из файла у меня путаются строки со строками из других файлов. Скрипт многопоточный.
В программе есть примечание такое в меню создания ресурсов. ```Настоятельно рекомендуется не использовать это действие в коде, который работает в нескольких потоках, потому что каждый поток создаст свой новый ресурс, и это, вероятно, не то, что вам нужно.Как мне рандомно использовать грузить строки из файла?
ресурсы глобальны, то есть если вы в каждом потоке вновь создаёте ресурс, то он пересоздаётся каждый раз
Подскажите чем мне еще можно воспользоваться, что бы была возможность в любом месте втыкать случайную строку? Списки не подходят, так как надо каждый раз выполнять СЛУЧАЙНЫЙ ЭЛЕМЕНТ. А если мне надо несколько десятков раз вставить в поле строку.
-
@Kodak Очень неоднозначно вы описали то, что вам нужно. Если вам надо просо рандомная строка (для пароля, к примеру), то есть действие "Случайная строка" в модуле "Инструменты". Если вам нужно рандомную строку из некоторого списка возможных, то я не понимаю, почему вам не нравится "Случайный элемент". Вы можете один раз присвоить значению переменной случайный элемент списка, а потом использовать эту переменную сколько вам будет угодно раз. Если вам всё же нужен ресурс (к примеру, если варианты строк лежат в файле), то его можно создать в функции "OnApplicationStart", а потом использовать в любом потоке
-
Попробую объяснить задачи моего скрипта. Который работает как надо, но в одном потоке.
И так есть ГЛАВНЫЙ_ФАЙЛ.txt
В котором 10 строк с путями к другим файлам.txt
Пример:
C:\WORKDIR\A_TEXT.txt;C:\WORKDIR\A_CONTENT.txt
C:\WORKDIR\B_TEXT.txt;C:\WORKDIR\B_CONTENT.txt
Этот файл я подгружаю из файла с ресурс. Он всегда статичен и предусмотрен для всех потоков.
Беру из него строку и разделяю её. Занося пути к файлам в переменные.
Получаю две переменные: PATH_TO_TEXT и PATH_TO_CONTENTПеременную PATH_TO_TEXT -> ЧИТАТЬ ФАЙЛ В СПИСОК - > СПИСОК В РЕСУРС (TEXT)
Имеем ресурс TEXT, который берет не только одну строку из ГЛАВНЫЙ_ФАЙЛ.txt, а подтягивает в многопотоке файлы со следующей строки.Надеюсь понятно объяснил
-
-
Попробую еще раз, но уже описать задачу.
Дано много wordpress блогов, в которые необходимо автоматически засабмитить необходимый контент.
Есть основной файл в котором локальные пути до файлов с ТАЙТЛАМИ, файлов С ТЕКСТОМ, файлы с ссылками.
Пример:
C:\WORKDIR\B_TEXT.txt;C:\WORKDIR\B_CONTENT.txtЯ разбираю строку и запихивают все данные в переменные, списки и ресурсы.
Как мне взять случайную строку из файла например для НАЗВАНИЯ СТРАНИЦЫ?