Mercurial Hosting > luan
comparison src/luan/modules/lucene/Lucene.luan @ 1377:4c9691d6288f
minor
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 14 Jul 2019 00:43:45 -0600 |
parents | 5c3702f60200 |
children | 87a3738d7cc5 |
comparison
equal
deleted
inserted
replaced
1376:ba1b4583c2d5 | 1377:4c9691d6288f |
---|---|
10 local uri = Io.uri or error() | 10 local uri = Io.uri or error() |
11 local String = require "luan:String.luan" | 11 local String = require "luan:String.luan" |
12 local matches = String.matches or error() | 12 local matches = String.matches or error() |
13 local Thread = require "luan:Thread.luan" | 13 local Thread = require "luan:Thread.luan" |
14 local schedule = Thread.schedule or error() | 14 local schedule = Thread.schedule or error() |
15 local run_for_backup = Thread.run_for_backup or error() | 15 local run_in_lock = Thread.run_in_lock or error() |
16 local backup_read_lock = Thread.backup_read_lock or error() | |
16 local Time = require "luan:Time.luan" | 17 local Time = require "luan:Time.luan" |
17 local Rpc = require "luan:Rpc.luan" | 18 local Rpc = require "luan:Rpc.luan" |
18 local LuceneIndex = require "java:luan.modules.lucene.LuceneIndex" | 19 local LuceneIndex = require "java:luan.modules.lucene.LuceneIndex" |
19 local NumberFieldParser = require "java:luan.lib.queryparser.NumberFieldParser" | 20 local NumberFieldParser = require "java:luan.lib.queryparser.NumberFieldParser" |
20 local SaneQueryParser = require "java:luan.lib.queryparser.SaneQueryParser" | 21 local SaneQueryParser = require "java:luan.lib.queryparser.SaneQueryParser" |
139 | 140 |
140 function index.schedule_backups_to(backup_dir,repeating_delay) | 141 function index.schedule_backups_to(backup_dir,repeating_delay) |
141 local lucene_dir = index.dir | 142 local lucene_dir = index.dir |
142 local function backup() | 143 local function backup() |
143 if backup_dir.last_modified() < lucene_dir.last_modified() then | 144 if backup_dir.last_modified() < lucene_dir.last_modified() then |
144 run_for_backup(function() | 145 run_in_lock(backup_read_lock, index.backup_to,backup_dir) |
145 index.backup_to(backup_dir) | 146 logger.info "backup" |
146 logger.info "backup" | |
147 end) | |
148 end | 147 end |
149 end | 148 end |
150 schedule( backup, { | 149 schedule( backup, { |
151 repeating_delay = repeating_delay or Time.period{minutes=10} | 150 repeating_delay = repeating_delay or Time.period{minutes=10} |
152 run_on_close = true | 151 run_on_close = true |