summaryrefslogtreecommitdiff
path: root/validation/validation_application.rb
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2011-06-29 11:19:02 +0200
committermguetlein <martin.guetlein@gmail.com>2011-06-29 11:19:02 +0200
commitc945cad0eb0b01fb897b0dbb95d14a9872da5e1c (patch)
tree3acc42dc469b43fd72c9813f969b792d0dc976f3 /validation/validation_application.rb
parentc87b0d6866acb246d35fc457805340aef28147b8 (diff)
do delete policies in background with sleeps, fix cleanup method
Diffstat (limited to 'validation/validation_application.rb')
-rwxr-xr-xvalidation/validation_application.rb28
1 files changed, 13 insertions, 15 deletions
diff --git a/validation/validation_application.rb b/validation/validation_application.rb
index bd55d4c..c9a5649 100755
--- a/validation/validation_application.rb
+++ b/validation/validation_application.rb
@@ -61,17 +61,14 @@ post '/crossvalidation/cleanup/?' do
LOGGER.info "crossvalidation cleanup, starting..."
content_type "text/uri-list"
deleted = []
- #Validation::Crossvalidation.find_like(params).each do |cv|
- Validation::Crossvalidation.all( { :finished => false } ).each do |cv|
- #num_vals = Validation::Validation.find( :all, :conditions => { :crossvalidation_id => cv.id } ).size
- #num_vals = Validation::Validation.all( :crossvalidation_id => cv.id ).size
- #if cv.num_folds != num_vals || !cv.finished
+ Validation::Crossvalidation.all.collect.delete_if{|cv| cv.finished}.each do |cv|
+ if OpenTox::Authorization.authorized?(cv.crossvalidation_uri,"DELETE",@subjectid)
LOGGER.debug "delete cv with id:"+cv.id.to_s+", finished is false"
deleted << cv.crossvalidation_uri
- #Validation::Crossvalidation.delete(cv.id)
cv.subjectid = @subjectid
cv.delete_crossvalidation
- #end
+ sleep 1 if AA_SERVER
+ end
end
LOGGER.info "crossvalidation cleanup, deleted "+deleted.size.to_s+" cvs"
deleted.join("\n")+"\n"
@@ -189,8 +186,8 @@ delete '/crossvalidation/:id/?' do
# Validation::Crossvalidation.delete(params[:id])
cv = Validation::Crossvalidation.get(params[:id])
- cv.subjectid = @subjectid
raise OpenTox::NotFoundError.new "Crossvalidation '#{params[:id]}' not found." unless cv
+ cv.subjectid = @subjectid
cv.delete_crossvalidation
end
@@ -474,13 +471,14 @@ post '/cleanup/?' do
LOGGER.info "validation cleanup, starting..."
content_type "text/uri-list"
deleted = []
- #Validation::Validation.find( :all, :conditions => { :prediction_dataset_uri => nil } ).each do |val|
- Validation::Validation.all( :finished => false ).each do |val|
- LOGGER.debug "delete val with id:"+val.id.to_s+", finished is false"
- deleted << val.validation_uri
- #Validation::Validation.delete(val.id)
- val.subjectid = @subjectid
- val.delete_validation
+ Validation::Validation.all.collect.delete_if{|val| val.finished}.each do |val|
+ if OpenTox::Authorization.authorized?(val.validation_uri,"DELETE",@subjectid)
+ LOGGER.debug "delete val with id:"+val.id.to_s+", finished is false"
+ deleted << val.validation_uri
+ val.subjectid = @subjectid
+ val.delete_validation
+ sleep 1 if AA_SERVER
+ end
end
LOGGER.info "validation cleanup, deleted "+deleted.size.to_s+" validations"
deleted.join("\n")+"\n"