Я создал код, который голосует за меня на сайте ...
Скрипт Ruby работает довольно хорошо, но через несколько минут этот скрипт останавливается с такими ошибками: ссылка на скриншот
Итак, я проверил диспетчер задач Windows и объем памяти, выделяемой для ruby.exe, увеличивается после каждого цикла!
здесь заключен вменяемый код:
class VoteWebsite
def self.main
agent = Mechanize.new
agent.user_agent_alias = 'Windows Mozilla'
while $stop!=true
page = agent.get 'http://website.com/vote.php'
reports_divs = page.search(".//div[@class='Pad1Color2']")
tds = reports_divs.search("td")
i = 3;j = 0;ouiboucle=0;voteboucle=0
while i < tds.length
result = tds[i].to_s.scan(/<font class="ColorRed"><b>(.*?) :<\/b><\/font>/)
type = result[0].to_s[2..-3]
k=i
case type
when "Type of vote"
j= i+1;i += 4
result2 = tds[j].to_s.scan(/<div id="btn(.*?)">/)
id = result2[0].to_s[2..-3]
monvote=define_vote($vote_type, tds[k].to_s, $vote_auto)
page2 = agent.get 'http://website.com/AJAX_Vote.php?id='+id+'&vote='+monvote
voteboucle+=1
.
.
.
else
.
.
.
end
end
end
end
end
VoteWebsite.main
Я думаю, что объявление всех переменных внутри метода в глобальной переменной должно решить эту проблему, но код довольно большой, и внутри этого метода есть множество переменных.
Так есть ли какой-либо способ (любая инструкция Ruby) для слива всей этой переменной в конце каждого цикла?