0
私はRailsにあり、Facebookのすべてのコメントをインポートするには、cronジョブでKoalaを使用します。API要求を含むループにコールバックが必要ですか?
request
を作成し、response
を保存するたびにfor
ループを使用してもよろしいですか?または、私がFacebookからresponse
を手に入れる前に、for
が再起動する危険性があります。
他の言葉:ループが応答を待つか、コールバック関数が必要ですか?ここで
はループです:
def self.import_comments
# Access Facebook API
facebook = Feed.get_facebook_access
# Run 190 queries per cron job
for i in 1..190
id_of_latest_feed = Feed.get_latest['fb_id']
id_of_latest_feed_checked = Option.get_feed_needle
# Check if there are more recent feeds than the latest checked
if id_of_latest_feed != id_of_latest_feed_checked
# Get the facebook id of the feed which comes after the latest checked
latest_feed_checked = Feed.where(fb_id: id_of_latest_feed_checked).first
this_date = latest_feed_checked['fb_updated_time']
feed_to_check = Feed.get_older_than(this_date)
unless feed_to_check.nil?
# Get the ID of the feed to check
fb_id = feed_to_check['fb_id']
# Update needle
Option.update_feed_needle_to(fb_id)
# -------- REQUEST! --------- #
# Get comments from Facebook
@comments = facebook.get_object("#{ fb_id }/comments?filter=stream")
# Save each comment
@comments.each do |comment|
if Comment.exists?(fb_id: comment['id'])
# don't do anyhting
else
# save the comment
end
end
end
end
end
end
私はコードを実行していて、これまでのところ問題はなかったので、あなたが正しいと思います –