From 56cb519f1636d7165a86e234c9e07121cbfec2d3 Mon Sep 17 00:00:00 2001 From: rishard Date: Thu, 19 Aug 2021 07:37:55 +0300 Subject: [PATCH] dynamic_follow_list added --- app/jobs/application_job.rb | 6 ------ app/jobs/follow_job.rb | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/jobs/application_job.rb b/app/jobs/application_job.rb index 27779370..112ff778 100644 --- a/app/jobs/application_job.rb +++ b/app/jobs/application_job.rb @@ -40,12 +40,6 @@ def unfollow(tweet) array[1] - array[0] end - def save_follow_list(*args) - CSV.open("#{Rails.root}/follow_lists/" + args[1] + ".csv", 'w') do |csv| - csv << args[0].map { |e| e.id } - end - end - def get_user_lists(tweet) [GetFollowersJob.perform_now(tweet), GetFriendsJob.perform_now(tweet)] end diff --git a/app/jobs/follow_job.rb b/app/jobs/follow_job.rb index 1ebe5a61..e4fa1f3d 100644 --- a/app/jobs/follow_job.rb +++ b/app/jobs/follow_job.rb @@ -8,6 +8,7 @@ def perform(*args) list.take(100).each do |user| client.follow(user.id) list.delete(user) + dynamic_follow_list(args[1]) puts "follow: #{user.screen_name} #{Time.now}" sleep rand(30..60) end @@ -22,4 +23,21 @@ def perform(*args) retry end end + + def dynamic_follow_list(nick) + array_of_ids = CSV.open(path_to_csv_file(nick)).to_a.flatten.drop(1) + CSV.open(path_to_csv_file(nick), 'w') do |csv| + csv << array_of_ids + end + end + + def save_follow_list(*args) + CSV.open(path_to_csv_file(args[1]), 'w') do |csv| + csv << args[0].map { |e| e.id } + end + end + + def path_to_csv_file(nick) + "#{Rails.root}/follow_lists/" + nick + '.csv' + end end