comparison src/luan/host/run.luan @ 1188:9f5edbef3f55

remove old web log files
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 22 Feb 2018 23:21:06 -0700
parents 83c8a5a47f70
children 1e351b0d385e
comparison
equal deleted inserted replaced
1187:83c8a5a47f70 1188:9f5edbef3f55
4 local do_file = Luan.do_file or error() 4 local do_file = Luan.do_file or error()
5 local ipairs = Luan.ipairs or error() 5 local ipairs = Luan.ipairs or error()
6 local Io = require "luan:Io.luan" 6 local Io = require "luan:Io.luan"
7 local print = Io.print or error() 7 local print = Io.print or error()
8 local String = require "luan:String.luan" 8 local String = require "luan:String.luan"
9 local Time = require "luan:Time.luan"
10 local Thread = require "luan:Thread.luan"
9 local Hosting = require "luan:host/Hosting.luan" 11 local Hosting = require "luan:host/Hosting.luan"
10 local Logging = require "luan:logging/Logging.luan" 12 local Logging = require "luan:logging/Logging.luan"
11 local logger = Logging.logger "run" 13 local logger = Logging.logger "run"
12 java() 14 java()
13 local WebHandler = require "java:luan.host.WebHandler" 15 local WebHandler = require "java:luan.host.WebHandler"
29 local handler = webHandler 31 local handler = webHandler
30 handler = ContentTypeHandler.new(handler) 32 handler = ContentTypeHandler.new(handler)
31 handler = SafeHandler.new(handler) 33 handler = SafeHandler.new(handler)
32 local server = Server.ForAddress.new("127.0.0.1",8080,handler) 34 local server = Server.ForAddress.new("127.0.0.1",8080,handler)
33 server.start() 35 server.start()
36
37
38
39 local function remove_old_web_log_files()
40 local expired = Time.now() - Time.period{days=30}
41 local sites_dir = Io.schemes.file(Hosting.sites_dir)
42 for _, site in ipairs(sites_dir.children()) do
43 local web = site.child("site/private/local/logs/web")
44 for _, file in ipairs(web.children() or {}) do
45 if file.last_modified() < expired then
46 file.delete()
47 end
48 end
49 end
50 end
51
52 Thread.schedule( Time.period{days=1}, true, Thread.safe(remove_old_web_log_files,logger) )