Mercurial Hosting > luan
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) ) |