@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Выражение в конструкторе.(Работа с временем)
-
Помогите составить выражение для работы с временем, есть например время в формате часы:минуты возьмем время 23:44 Мне нужно к этому времени прибавить 25 минут, например, чтобы получить 00:09, как мне сделать, чтобы при превышении 59 минут выполнилось прибавление на 1 час и если часы больше 23, то ставилось бы ноль часов. Кто знает как это сделать, прошу помогите. Заранее спасибо!
-
Еще один способ сложения времени. Через конструктор так сказать на пальцах) конечно это не идеальное решение, возможно даже способ покажется диким)
Это скорее проба работы с конструктором. Кстати чумовая штука)

0_1477862169298_дикий способ через конструктор.xml -
@Стас said in Выражение в конструкторе.(Работа с временем):
Это скорее проба работы с конструктором. Кстати чумовая штука
Ну этот способ показывает на сколько многофункционален может быть конструктор.Спасибо, интересно поучиться работать в конструкторе.
-
@support Еще раз прошу помощи, знаю что все написали в нескольких строках, но я далек еще от javascript. Подскажите как сделать вычитание дня из даты (есть допустим дата в адресе ссылки 2016/11/03/ и мне нужно вернуться к прошлому дню и все это планирую в цикле, т.е. вычитать значение переменной [[CYCLE_INDEX]]) Отнять нужно от текущей даты.
-
Сделал так с вычитанием 2 дней. Вроде работает, но я не заметил, что там не везде полные месяца, вот сайт http://www.mk.ru/news/ как мне быть если нету страницы, ведь страница может быть и произойти ошибка, если я правильно думаю.
today = new Date()
year = today.getFullYear()
month = today.getMonth()
day = today.getDate()
var d = new Date(year, month, day);
d.setDate(d.getDate() - 2);
year = d .getFullYear()
month = d .getMonth() +1
day = d .getDate()
[[INCREASED_TIME]] = year + "/" + month + "/" + day -
Подскажите как сделать вычитание дня из даты (есть допустим дата в адресе ссылки 2016/11/03/ и мне нужно вернуться к прошлому дню и все это планирую в цикле, т.е. вычитать значение переменной [[CYCLE_INDEX]]
Вот так должно работать:
var d = "2016/11/03".split("/") var date = new Date(d[0],d[1],d[2]) date.setTime(Date.now() - [[CYCLE_INDEX]]*24*60*60*1000) [[INCREASED_TIME]] = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDay()Обратите внимание, что getDate() это день недели.
-
var d = "2016-12-05".split("-") var date = new Date(parseInt(d[0]),parseInt(d[1]) - 1, parseInt(d[2])) date.setTime(date.getTime() + 24*60*60*1000) [[INCREASED_TIME]] = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() -
@support У меня почему то ошибку выбивает.(чисто скопировал, чтобы проверить) Что то было с переменной, спасибо работает!
[23:37:48] Поток №1 : ReferenceError: Can't find variable: reply Номер строки:7 Во время выполнения скрипта { var d = "2016-12-05".split("-") var date = new Date(parseInt(d[0]),parseInt(d[1]) - 1, parseInt(d[2])) date.setTime(date.getTime() + 246060*1000) VAR_INCREASED_TIME = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() reply section_start("test", 99193,function(){ })}