Остановить все потоки, а потом снова запустить.
-
понял, спасибо. Подождем еще автора, он то точно прояснит про localstorage в многопоточной функции :)
Еще заметил не приятную багу: все ошибки в многопоточной функции в лог не выводятся. Она просто падает в "неудачное выполнение", а что там было не удачным, переменная пустаяилиеще что, не ясно :(
-
This post is deleted!
-
@Sevenup Блок настройки браузера надо ставить в начале, так как при этом перезапустится браузер. На всех сайтах с флешем такая проблема?
-
@Fox said in Остановить все потоки, а потом снова запустить.:
@Sevenup Блок настройки браузера надо ставить в начале, так как при этом перезапустится браузер. На всех сайтах с флешем такая проблема?
закрыл, открыл БАС и заработало.
Теперь пытаюсь придумать, как принудительно включать нужный плагин выполняя JS код, что бы не зависеть от отпечатка. Сейчас приходится дергать сервис отпечатков пока не получу отпечаток например с флешем. Не хотелось бы нагружать таким способом сервис отпечатков.Если есть опыт в JS подсказать пожалуйста, что делаю не так:
Object.defineProperty(window.navigator, 'mimeTypes', {get: function() {
return [{description:"Shockwave Flash", "suffixes":"swf", "type":"application/x-shockwave-flash"},{description:"Shockwave Flash", "suffixes":"spl", "type":"application/futuresplash"}]; }});Object.defineProperty(window.navigator, 'plugins', {get: function() {
return [{name:"Shockwave Flash", description:"Shockwave Flash 26.0 r0", "filename":"pepflashplayer.dll", 0:window.navigator.mimeTypes[0], 1:window.navigator.mimeTypes[1] }]; }});
-
@Sevenup С js знаком с натяжкой. Включать нужный плагин можно и не через js код, можно в самом файле ручками его поменять, прочитать, пройтись регуляркой и поменять что нужно. Или изначально выкачать отпечатки с флешем, проверяя их на входе. Сохранить их и использовать уже сохранённые.
-
@Fox said in Остановить все потоки, а потом снова запустить.:
@Sevenup С js знаком с натяжкой. Включать нужный плагин можно и не через js код, можно в самом файле ручками его поменять, прочитать, пройтись регуляркой и поменять что нужно. Или изначально выкачать отпечатки с флешем, проверяя их на входе. Сохранить их и использовать уже сохранённые.
да, вот только вариант с выкачать и остается :( так и делаю.
Но красиво же было бы, если бы так чик пик запустил код и добавил/удалил/переназначил плагин. В общем-то чувствую я уже близко :) но вот с mimeTypes что-то не выходит.
-
Идея напарсить отпечатков с флешем отличная, только вот быстро сервис ложиться и залипает на "получить отпечаток" :( каждый 10й например с флешем, что бы 10 отпечатков получить нужно 100 раз сходить на сервер. Ключ с лимитом 1000 в минуту не спасает, очень быстро сервер уходит с бесконечное ожидание. Попробую днем завтра, может сейчас кто-то его активно использует :)
-
@Sevenup Тебе сколько нужно отпечатков с флешем? Поставь выгрузку с ожиданием на ночь, по тихоньку выгрузится.
А вообще я бы прямо в отпечатке регуляркой менял ))
-
@Fox said in Остановить все потоки, а потом снова запустить.:
@Sevenup Тебе сколько нужно отпечатков с флешем? Поставь выгрузку с ожиданием на ночь, по тихоньку выгрузится.
А вообще я бы прямо в отпечатке регуляркой менял ))как-то так и сделал, к утру надеюсь подтянутся.
ага, не все там так просто :) регуляркой не обойдешься. Загляни внутрь и поймешь. Не ну если кто справиться, с меня арбуз! :)
тут надо научиться работать с API navigator, тогда можно блоком "выполнить код в начале загрузкикаждой страницы" менять плагины, шрифты и много чего в отпечатке.
-
если в многопоточную функцию, в конце всех условия вставляю "закрыть браузер", то данная функция заканчивается на нечавшись. т.е. каждый ее поток сразу завершается.
Как так? Куда бы я не вставил "закрыть браузер", даже обернув в if(2==1) функция все равно закрывается не начавшись. Как только убираю этот блок все ок. Я не верно использую метод "закрыть браузер" или бага?
-
@Sevenup Если ты используешь экшен закрыть браузер, то перед ним обязательно должен быть открыть браузер.
-
@Fox said in Остановить все потоки, а потом снова запустить.:
@Sevenup Если ты используешь экшен закрыть браузер, то перед ним обязательно должен быть открыть браузер.
эмммм, а разве "браузер"->"загрузить" не открывает браузер? ну т.е. в смысле когда поток начался он же открывает браузер.
нашел вот http://community.bablosoft.com/post/3210 пошел эксперементировать :)
Например 10 потоков запущены многопоточной функцией, мне нужно сменить прокси (то, что мы обсуждали выше).
Вариант 1: нужно дождаться выполнения всех потоков в функции, что не гуд, так как 9 потоков закончились, а 1 еще работает и теряем время(ресурс). Каждый поток работает с разной задачей разное время.
Вариант 2: когда пришло время, дропаем на чем есть, не важно завершился ли поток (или ставим на паузу, в начало выполнения) все потоки, а после смены прокси запускаем их все сначала. Как это сделать пока не знаю.
Суть в том, что бы в один момент (когда меняется прокси) прекратить все запросы и после смены прокси запустить определенную функцию с начала.