Поток



  • Привет всем!
    Можно ли как-то включить режим многопотока только после выполнения условия?
    Например, в 1 потоке заходим на сайт и грабаем всех пользователей.
    Потом делим кол-во пользователей на кол-во потоков и уже под каждым потоком логинимся и отправляем сообщения для своей части пользователей.
    Т.е. сперва работаем только в 1 потоке, а после граба пользователей врубаем многопоток и выполняем для каждого свои задачи.
    @support, такое возможно?


  • administrators

    @mardoksp Сейчас можно парсить пользователей в OnApplicationStart потом будут этапы выполнения каждый со своими настройками.



  • @support А как указать кол-во потоков из переменной?

    Ну допустим я в OnApplicationStart считаю кол-во пользователей. А потом уже, исходя из этого кол-ва, я указываю необходимое кол-во потоков.
    Например, у нас есть 100 тысяч пользователей. Допустим, я считаю на 1 поток одну тысящу пользователей. Получается 100 потоков. Я оставлю шаблон работать круглые сутки. Он будет сканить онлайн каждый час. Допустим новых добавилось 200. Запускать это на 100 потоков нет смысла, поэтому если меньше тысячи, то делать все в 1 поток.
    Я думал в OnApplicationStart просчитать и указать в переменную кол-во потоков, но там можно указать только ресурс. Как быть с переменной?

    Остается только идея, просчитать сперва кол-во потоков, записать в файл, а потом уже указать ресурс файла. Из файла работает ок. Если в переменную нельзя, то будем через файл.



  • @mardoksp Вроде потоки мало занимают, если ничего не делают. Можно 100 потоков запускать, проверять в них количество пользователей, и в зависимости от количества уже выполнять на потоке действия. А остальные потоки пока ожидать будут.



  • @blackhacker Да я пока решил сделать через ресурс.
    Добавлю ресурс на ссылку на файл. В стартовой функции сделаю все операции и посчитаю нужное кол-во потоков и результат запишу в этот файл. А кол-во потоков укажу как ресурс.
    Только что проверил - все ок :)


  • administrators

    @mardoksp После сервиса сделаю поддержку нескольких этапов выполнения скрипта, там это будет.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.