ресурс из файла берет больше строк, чем положено.



  • пример 0_1470697559619_test021.xml
    ресурс 0_1470697635292_imgs path.txt
    в файле 4640 строк
    в проекте выбрано 5 потоков, 10 успехов, 500 неудач
    запускаю и получаю в файле исходном вместо 4630 строк, 4627. Где исчезают строки не ясно.
    Проблему воспроизводил несколько раз, думаю и у вас получится.



  • Возможно проблема в том что стоит галочка запись - что означает удалять после использования.Ну да после того как убрал галочку проблемы нет. все файлы на месте.



  • мне так и нужно, что бы использованные строки удалялись. суть не в этом,
    использовано строк должно быть 10. Тогда почему последний раз у меня использовалось 13 ?



  • Проверил, у меня тоже больше чем нужно берет.
    Но при 1 потоке эта ошибка исчезает.
    Значит проблема в потоках?



  • В многопоточном использовании ресурсов.
    Там ошибка не так очевидна, как кажется. Например, если строк в ресурсе 4600, а мы укажем скрипту выполнится 5000 раз, то он нормально обработает ВСЕ 4600 строк, дальше завершится с сообщением, что ресурс пуст, как и должно быть.
    Т.е. ошибка эта наблюдается, когда мы ставим выполнить скрипт меньшее к-во раз, чем есть строк в ресурсе. При условии, что в любом случае скрипт негде не использует строку с ресурса больше 1 раза.



  • Хоть это и звучит странно, но формально такое поведение является правильным.

    Объясню на примере.

    Скрипт имеет 5 потоков. Допустим поток #1 завершает свою работу так, что количество успехов скрипта стает равным 10. Остальные потоки находятся в таком состоянии:

    #2 - сразу после инициализации - не успел затребовать ресурс.
    #3 - получил {{url}}, но не записал его в переменную URL555 - значит успел затребовать ресурс.
    #4 - выполнил полностью [[URL555]] = {{url}}; - значит успел затребовать ресурс.
    #5 - вывел лог - опять же успел затребовать ресурс.

    Так как потоки #1, #3, #4, #5 успели получить ресурс, то БАС считает, что они им уже и воспользовались и из файла удаляется не 10 строк, а 13.
    И если взять скрипт регистрации, а ресурс прокси, то софт будет вести себя логично:
    в случае достижения нужного числа регистраций, те прокси, которые засветились на сайте будут удалены из файла.



  • спасибо за полное разъяснение, не очевидной ситуации. Но как с этим жить )? Но на будущее хотелось бы знать: Например, если у меня есть 5000 строк (важных данных), но мне нужно именно сейчас запустить только 10 выполнений скрипта, соответственно, чтобы обработались именно 10 первых строк и все..



  • @out

    По хорошему нужно сделать еще одну настройку в ресурсах. И я это сделаю немного позже. А прямо сейчас можно решить вопрос через глобальные переменные.

    MaxResUsage.xml

    Запускать лучше через эту версию, чтобы можно было отредактировать одно новое действие в проекте.
    http://bablosoft.com/distr/BrowserAutomationStudioDevelopment/14.2.0/BrowserAutomationStudioInstallAllInOne.exe


Log in to reply