about summary refs log tree commit homepage
path: root/examples/rails_app-2.3.4/app
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-11-11 15:41:44 -0800
committerEric Wong <normalperson@yhbt.net>2009-11-11 15:41:44 -0800
commita3977a51ae30fd2856c969e2e7897535715d19c6 (patch)
treec8c0f2aece009a3643bfd31a45026059b82b842d /examples/rails_app-2.3.4/app
parent4e1763e8bacdec892b98844ff514d2e505bb6d54 (diff)
downloadupr-a3977a51ae30fd2856c969e2e7897535715d19c6.tar.gz
monitor: add "finish" method
This lets us finish up connections by setting seen == length
when the client is finished uploading.
Diffstat (limited to 'examples/rails_app-2.3.4/app')
-rw-r--r--examples/rails_app-2.3.4/app/models/upr_status.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/examples/rails_app-2.3.4/app/models/upr_status.rb b/examples/rails_app-2.3.4/app/models/upr_status.rb
index 81031c2..61d39bc 100644
--- a/examples/rails_app-2.3.4/app/models/upr_status.rb
+++ b/examples/rails_app-2.3.4/app/models/upr_status.rb
@@ -26,6 +26,18 @@ class UprStatus < ActiveRecord::Base
                  { :upid => upid })
     end
 
+    def finish(upid)
+      transaction do
+        if rv = find_by_upid(upid)
+          rv.time = Time.now.to_i
+          rv.length ||= rv.seen
+          rv.seen = rv.length
+          rv.save
+          rv
+        end
+      end
+    end
+
     def gc
       cutoff = Time.now.to_i - @@gc_cutoff
       delete_all "time < #{cutoff}"