comparison src/luan/host/run.luan @ 1200:1e351b0d385e

move remove_old_web_log_files to luanhost
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 01 Mar 2018 16:28:18 -0700
parents 9f5edbef3f55
children cff4a7d778a6
comparison
equal deleted inserted replaced
1199:3995cbe5b00a 1200:1e351b0d385e
1 require "luan:logging/init.luan" -- initialize logging 1 java()
2 local Luan = require "luan:Luan.luan" 2 local Luan = require "luan:Luan.luan"
3 local error = Luan.error 3 local error = Luan.error
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()
6 local Io = require "luan:Io.luan" 5 local Io = require "luan:Io.luan"
7 local print = Io.print or error()
8 local String = require "luan:String.luan"
9 local Time = require "luan:Time.luan"
10 local Thread = require "luan:Thread.luan"
11 local Hosting = require "luan:host/Hosting.luan" 6 local Hosting = require "luan:host/Hosting.luan"
12 local Logging = require "luan:logging/Logging.luan" 7 local Logging = require "luan:logging/Logging.luan"
13 local logger = Logging.logger "run" 8 local logger = Logging.logger "run"
14 java()
15 local WebHandler = require "java:luan.host.WebHandler" 9 local WebHandler = require "java:luan.host.WebHandler"
16 Hosting.WebHandler = WebHandler 10 Hosting.WebHandler = WebHandler
11
17 12
18 local here = Io.schemes.file(".").canonical().to_string() 13 local here = Io.schemes.file(".").canonical().to_string()
19 Hosting.sites_dir = here.."/sites/" 14 Hosting.sites_dir = here.."/sites/"
20 15
21 do_file "classpath:luan/host/main.luan" 16 do_file "classpath:luan/host/main.luan"
31 local handler = webHandler 26 local handler = webHandler
32 handler = ContentTypeHandler.new(handler) 27 handler = ContentTypeHandler.new(handler)
33 handler = SafeHandler.new(handler) 28 handler = SafeHandler.new(handler)
34 local server = Server.ForAddress.new("127.0.0.1",8080,handler) 29 local server = Server.ForAddress.new("127.0.0.1",8080,handler)
35 server.start() 30 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) )