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)