@@ -169,7 +169,7 @@ module Agents |
||
169 | 169 |
def review_hits |
170 | 170 |
reviewable_hit_ids = RTurk::GetReviewableHITs.create.hit_ids |
171 | 171 |
my_reviewed_hit_ids = reviewable_hit_ids & (memory[:hits] || {}).keys.map(&:to_s) |
172 |
- log "MTurk reports the following HITs [#{reviewable_hit_ids.to_sentence}], of which I own [#{my_reviewed_hit_ids.to_sentence}]" |
|
172 |
+ log "MTurk reports #{reviewable_hit_ids.length} HITs, of which I own [#{my_reviewed_hit_ids.to_sentence}]" |
|
173 | 173 |
my_reviewed_hit_ids.each do |hit_id| |
174 | 174 |
hit = RTurk::Hit.new(hit_id) |
175 | 175 |
assignments = hit.assignments |
@@ -215,6 +215,7 @@ module Agents |
||
215 | 215 |
log "Event emitted with answer(s)", :outbound_event => event, :inbound_event => Event.find_by_id(memory[:hits][hit_id.to_sym]) |
216 | 216 |
|
217 | 217 |
assignments.each(&:approve!) |
218 |
+ hit.dispose! |
|
218 | 219 |
|
219 | 220 |
memory[:hits].delete(hit_id.to_sym) |
220 | 221 |
end |
@@ -220,6 +220,14 @@ describe Agents::HumanTaskAgent do |
||
220 | 220 |
def max_assignments |
221 | 221 |
@options[:max_assignments] || 1 |
222 | 222 |
end |
223 |
+ |
|
224 |
+ def dispose! |
|
225 |
+ @disposed = true |
|
226 |
+ end |
|
227 |
+ |
|
228 |
+ def disposed? |
|
229 |
+ @disposed |
|
230 |
+ end |
|
223 | 231 |
end |
224 | 232 |
|
225 | 233 |
class FakeAssignment |
@@ -309,6 +317,7 @@ describe Agents::HumanTaskAgent do |
||
309 | 317 |
FakeAssignment.new(:status => "Submitted", :answers => {"sentiment"=>"happy", "feedback"=>"Take 2"}) |
310 | 318 |
] |
311 | 319 |
hit = FakeHit.new(:max_assignments => 2, :assignments => assignments) |
320 |
+ hit.should_not be_disposed |
|
312 | 321 |
mock(RTurk::Hit).new("JH3132836336DHG") { hit } |
313 | 322 |
|
314 | 323 |
lambda { |
@@ -316,6 +325,7 @@ describe Agents::HumanTaskAgent do |
||
316 | 325 |
}.should change { Event.count }.by(1) |
317 | 326 |
|
318 | 327 |
assignments.all? {|a| a.approved == true }.should be_true |
328 |
+ hit.should be_disposed |
|
319 | 329 |
|
320 | 330 |
@checker.events.last.payload[:answers].should == [ |
321 | 331 |
{:sentiment => "neutral", :feedback => ""}, |