Class: Llmemory::Maintenance::Reindexer
- Inherits:
-
Object
- Object
- Llmemory::Maintenance::Reindexer
- Defined in:
- lib/llmemory/maintenance/reindexer.rb
Constant Summary collapse
- ARCHIVE_AFTER_DAYS =
180
Instance Method Summary collapse
-
#initialize(storage) ⇒ Reindexer
constructor
A new instance of Reindexer.
- #run_monthly(user_id) ⇒ Object
Constructor Details
#initialize(storage) ⇒ Reindexer
Returns a new instance of Reindexer.
8 9 10 |
# File 'lib/llmemory/maintenance/reindexer.rb', line 8 def initialize(storage) @storage = storage end |
Instance Method Details
#run_monthly(user_id) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/llmemory/maintenance/reindexer.rb', line 12 def run_monthly(user_id) items = @storage.get_all_items(user_id) resources = @storage.get_all_resources(user_id) cutoff = Time.now - (ARCHIVE_AFTER_DAYS * 86400) old_item_ids = items.select { |i| i[:created_at] < cutoff }.map { |i| i[:id] } old_resource_ids = resources.select { |r| r[:created_at] < cutoff }.map { |r| r[:id] } @storage.archive_items(user_id, old_item_ids) if old_item_ids.any? @storage.archive_resources(user_id, old_resource_ids) if old_resource_ids.any? true end |