@@ -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 => ""},
|