0
我在Rails上,我在一个cron工作中使用考拉来导入所有评论Facebook。包含API请求的循环是否需要回调?
可以使用for
循环,每次我做一个request
并存储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
我一直在运行代码,目前没有问题,所以我想你是对的 –