Поток зависает
-
@support А какие именно цифры указаны в отчете? Количество ресурсов? Но тогда не показывает, сколько ресурсов доступно. Сейчас показывает так:
site_1_referers_list: 96
site_2_referers_list: 28
site_3_referers_list: 224
site_4_referers_list: 56
site_5_referers_list: 76
site_6_referers_list: 228
user_agents_file: 15161
proxy_file: 5500Почти все потоки зависли.
-
@blackhacker Отчет показывает сколько ресурсов доступно и в том числе те ресурсы, которые заняты другими потоками.
-
@support Значит, свободные ресурсы все-таки есть? Нашел ошибку, исправил
RS("site_"+[[SITE]].id+"_referers_list", false, false)!
на
RS("site_"+[[SITE]].id+"_referers_list", true, false)!
В использовании ресурса прокси прописано так (он работает правильно). Что значат эти доп. параметры?
-
@blackhacker said in Поток зависает:
Значит, свободные ресурсы все-таки есть?
Не факт, что они свободные.
Что значат эти доп. параметры?
Первый - имя ресурса.
Второй - не включать повторное использование
Третий - не завершать скрипт при отсутствии ресурса.
-
@support Как BAS определяет, освободился ли ресурс? В теории, минимальное количество строк в ресурсе 28. Потоков запущено 40. Не могут же 40 потоков занимать все 28 строк (при условии, что ресурсы берутся каждый раз из разного источника, а не одновременно из одного)
-
Как BAS определяет, освободился ли ресурс?
Если ресурс не использует ни один поток - он свободен.
Поток перестает использовать ресурс, если поток перегружается, либо поток вызывает действие "Удалить текущий элемент", либо метод success fail или die на ресурсе, либо если он берет другой ресурс функцией RS.Не могут же 40 потоков занимать все 28 строк
Может и один поток использовать сколько угодно. Тут все зависит отк срипта.
-
@support У меня в цикле выполняются посещения, любой свободный от посещения поток ждет времени следующего посещения и берет данные из ресурса (список рефереров), который относится к сайту, который нужно посетить. Поток не привязан к какому-то конкретному сайту, берется сайт из списка, который нужно посетить раньше других. Может ли в таком случае поток израсходовать весь ресурс? Количество успешных и неудачных выполнений стоит 9999999, убрана галочка "использовать повторно".
-
@blackhacker said in Поток зависает:
Может ли в таком случае поток израсходовать весь ресурс?
Да, может. Например,
ресурс состоит из 3 строк и работает в 5 потоков.
1, 2 и 3 потоки берут по ресурсу и не отпускают, допустим работают с ним вечно в цикле.
Тогда 4 и 5 потоки будут ждать пока 1 2 и 3 отпустят ресурс и зависнут так как количество одновременных использований выставлено в 1.
Они отвиснут только когда потоки 1 2 и 3 отпустят ресурсы, но это может произойти не скоро, я не знаю, как у вас устроена логика.
-
@support Да, поставил количество одновременных использований больше, теперь не зависает, спасибо)