Растет потребление памяти.



  • Привет всем, такая задача есть 2 файла. 1 с прокси а второй с ссылками по которым надо ходить. Прокси используются по кругу, а вот ссылки единожды.
    Я беру прокси, из ресурса в список, беру линки из файла в список. Выполняю гет запрос, если запрос удачный то пишу прокси обратно в список.
    Далее по метке возвращаюсь к чтению первой строки из файла с прокси и и первой строки из файла с линками. И так по кругу пока файл с линками не кончится.
    Так вот проблема в том что потребление памяти растет... Как с этим бороться? Файл с линками около 3-4 Мб... За часов 5-6 потребление памяти растет со 100Мб до 3-4Гб



  • @burhanov88.ru почитал немного комьюнити, понял что есть проблема с памятью если используются браузер, но я браузер не использую, только get запрос списки и файлы. Куда течёт память? Специально в начале проекта поставил выключить браузер....



  • @burhanov88.ru Возможно что в ресурсе вы указали слишком частое обновление.



  • @burhanov88.ru, у меня подобный шаблон крутится сутками и даже браузер использую. Без конкретного скрипта вряд ли кто-то угадает причину. Попробуй на разных версиях БАСа позапускать.



  • @burhanov88.ru А сохроняйте ресурс файл, мне кажется в ресурс добавляются постоянно при обращении прокси



  • @myweb101 я не пишу в файл прокси, я беру прокси в список из ресурса и потом из списка в список записываю. Но если прервать то в файл ничего не пишется и не меняется, значит он работает с Вирт списком в памяти не читая файл. Обновляю(перезаписываю) файл только с ссылками.



  • @burhanov88.ru Это понятно, суть в том, что возможно в ресурс добавляются прокси постоянно и за счет этого память растет. Поэтому и предложил сохранить в файл отдельно.



  • @burhanov88.ru
    Точно поможет если использовать ресурсы без списков. Они для того и созданы чтобы экономить память. При получении ресурса в список вы копируете все 3-4мб ради одной строчки.

    Но и так должно работать, без проекта я могу только предполагать. Как вариант, размер списка растет с каждой итерацией, попробуйте вывести размер в лог.



  • @support а как получить строку из файла напрямую из ресурса?
    Я нашел только что можно ресурс в список а потом из него уже брать строки, но и с этим беда он почему то выдает не строку а только один символ, при условии вывода переменной в которой содержится строка в лог.



  • @burhanov88.ru, создаешь ресурс из файла, а потом в переменную или куда нужно указываешь взять из ресурса. Возьмётся строка.
    Можно настроить, чтобы строка бралась с удалением и потом успешные записывать в файл. А когда ресурс закончится, можно из этого файла все в ресурс взять.



  • @Antonio Где этот Экшн взять из ресурса?
    https://s.mail.ru/8ncC/XZWbCVn35
    Я понял что можно брать из файла если его читать в список, но в этом случае растет потребление памяти, @SUPPORT говорил что можно брать напрямую из ресурса но облазил весь BAS так и не нашел, может можно как то кодом совершить подобное?





  • @artihorror это же лог. Как его использовать в скрипте?
    Мне необходимо взять из ресурса строку, что бы в дальнейшем её использовать.



  • @burhanov88.ru вместо тысячи слов)0_1511501551817_342423.xml



  • @artihorror @SUPPORT А как быть в случае если нужен 1 элемент? Первый? Последний? Или случайный?



  • @burhanov88.ru
    в конструкторе ресурсов для "случайного" ставьте "мешать строки"



  • @forall Спасибо!


Log in to reply