lib/rhosync/source_sync.rb in rhosync-2.1.6 vs lib/rhosync/source_sync.rb in rhosync-2.1.7

- old
+ new

@@ -73,29 +73,33 @@ SourceJob.queue = queue_name Resque.enqueue(SourceJob,job_type,@source.id, @source.app_id,@source.user_id,client_id,params) end - def push_objects(objects) - @source.lock(:md) do |s| + def push_objects(objects,timeout=10,raise_on_expire=false) + @source.lock(:md,timeout,raise_on_expire) do |s| doc = @source.get_data(:md) + orig_doc_size = doc.size objects.each do |id,obj| doc[id] ||= {} doc[id].merge!(obj) end + diff_count = doc.size - orig_doc_size @source.put_data(:md,doc) - @source.update_count(:md_size,doc.size) + @source.update_count(:md_size,diff_count) end end - def push_deletes(objects) - @source.lock(:md) do |s| + def push_deletes(objects,timeout=10,raise_on_expire=false) + @source.lock(:md,timeout,raise_on_expire) do |s| doc = @source.get_data(:md) + orig_doc_size = doc.size objects.each do |id| doc.delete(id) end + diff_count = doc.size - orig_doc_size @source.put_data(:md,doc) - @source.update_count(:md_size,doc.size) + @source.update_count(:md_size,diff_count) end end private def _auth_op(operation,client_id=-1)