Browse Source

more work on cleanup time

stvnrlly 9 years ago
parent
commit
0d7069adbf
3 changed files with 5 additions and 11 deletions
  1. 1 1
      .env.example
  2. 3 9
      app/models/agent.rb
  3. 1 1
      lib/huginn_scheduler.rb

+ 1 - 1
.env.example

@@ -148,7 +148,7 @@ ENABLE_SECOND_PRECISION_SCHEDULE=false
 
 # Specify the frequency with which the scheduler checks for event expiration.
 # You can use `m` for minutes, `h` for hours, and `d` for days.
-EVENT_EXPIRATION_CHECK="3h"
+EVENT_EXPIRATION_CHECK=3h
 
 # Use Graphviz for generating diagrams instead of using Google Chart
 # Tools.  Specify a dot(1) command path built with SVG support

+ 3 - 9
app/models/agent.rb

@@ -21,7 +21,7 @@ class Agent < ActiveRecord::Base
   SCHEDULES = %w[every_1m every_2m every_5m every_10m every_30m every_1h every_2h every_5h every_12h every_1d every_2d every_7d
                  midnight 1am 2am 3am 4am 5am 6am 7am 8am 9am 10am 11am noon 1pm 2pm 3pm 4pm 5pm 6pm 7pm 8pm 9pm 10pm 11pm never]
 
-  EVENT_RETENTION_SCHEDULES = [["Forever", 0], ["1 day", 1], *([2, 3, 4, 5, 7, 14, 21, 30, 45, 90, 180, 365].map {|n| ["#{n} days", n] })]
+  EVENT_RETENTION_SCHEDULES = [["Forever", 0], ['1 hour', 1.hour], ['6 hours', 6.hours], ["1 day", 1.day], *([2, 3, 4, 5, 7, 14, 21, 30, 45, 90, 180, 365].map {|n| ["#{n} days", n.days] })]
 
   attr_accessible :options, :memory, :name, :type, :schedule, :controller_ids, :control_target_ids, :disabled, :source_ids, :scenario_ids, :keep_events_for, :propagate_immediately, :drop_pending_events
 
@@ -129,20 +129,14 @@ class Agent < ActiveRecord::Base
   end
 
   def new_event_expiration_date
-    if keep_events_for == 60
-      90.seconds.from_now
-    else
-      keep_events_for > 0 ? keep_events_for.days.from_now : nil
-    end
+    keep_events_for > 0 ? keep_events_for.seconds.from_now : nil
   end
 
   def update_event_expirations!
     if keep_events_for == 0
       events.update_all :expires_at => nil
-    elsif keep_events_for == 60
-      events.update_all "expires_at = " + rdbms_date_add("created_at", "SECOND", 90)
     else
-      events.update_all "expires_at = " + rdbms_date_add("created_at", "DAY", keep_events_for.to_i)
+      events.update_all "expires_at = " + rdbms_date_add("created_at", "SECOND", keep_events_for.to_i)
     end
   end
 

+ 1 - 1
lib/huginn_scheduler.rb

@@ -114,7 +114,7 @@ class HuginnScheduler
     end
 
     # Schedule event cleanup.
-    @rufus_scheduler.every ENV['EVENT_EXPIRATION_CHECK'] do
+    @rufus_scheduler.every ENV['EVENT_EXPIRATION_CHECK'].presence || '6h' do
       cleanup_expired_events!
     end