# File lib/ruote/svc/tracker.rb, line 110 def remove(tracker_ids, wfid) return if tracker_ids.empty? doc ||= @context.storage.get_trackers(wfid) return if (doc['trackers'].keys & tracker_ids).empty? doc['wfid'] = wfid # a little helper for some some storage implementations like ruote-swf # they need to know what workflow execution is targetted. tracker_ids.each { |ti| doc['trackers'].delete(ti) } r = @context.storage.put(doc) remove(tracker_ids, wfid) if r # the put failed, have to redo the work end