Ruby on rails 编辑:如何从循环中退出并召回任务?
Ruby on rails 编辑:如何从循环中退出并召回任务?,ruby-on-rails,rake,rake-task,Ruby On Rails,Rake,Rake Task,我正在使用task对PayPal进行大规模支付API调用 编辑:若有超过250个新成员,我需要从循环中走出来,完成后再打电话给它。 我的任务是: task :pay => :environment do clnt = HTTPClient.new i = 0; data = { "METHOD" => "MassPay", ...} @users = User.all @users.each do |user|
我正在使用task对PayPal进行大规模支付API调用 编辑:若有超过250个新成员,我需要从循环中走出来,完成后再打电话给它。 我的任务是:
task :pay => :environment do
clnt = HTTPClient.new
i = 0;
data = { "METHOD" => "MassPay",
...}
@users = User.all
@users.each do |user|
if i == 249
// call task again
end
data["L_EMAIL#{i}"] = "#{user.email}"
data["L_AMT#{i}"] = "1.21"
...
i+=1
end
我怎样才能做到呢?试试这个:
Rake::Task['pay'].reenable
一种更实用的方法是将每一件事都封装在一个
组中的调用中。根据您的代码猜测,您会得到如下结果:
task :pay => :environment do
@users = User.all
@users.in_groups_of(250, false).each do |group|
clnt = HTTPClient.new
data = { "METHOD" => "MassPay",
...}
group.each do |user|
data["L_EMAIL#{i}"] = "#{user.email}"
data["L_AMT#{i}"] = "1.21"
...
end
end
end
文档是。如果i==249 Rake::Task['pay'],你的意思是。可重入的end
?我发现我的逻辑有点失败。当有249个新成员时,我需要从循环中走出来完成任务。然后再打电话给它。所以我应该使用break操作符?或者某种转到操作符