|
8 | 8 | [liiteri.files.s3-store :as s3-store]
|
9 | 9 | [liiteri.migrations :as migrations]
|
10 | 10 | [liiteri.server :as server]
|
| 11 | + [liiteri.server_background :as server_background] |
11 | 12 | [liiteri.virus-scan :as virus-scan]
|
12 | 13 | [clj-ring-db-session.session.session-store :refer [create-session-store]]
|
13 | 14 | [liiteri.file-cleaner :as file-cleaner]
|
|
16 | 17 | [taoensso.timbre :as log]
|
17 | 18 | [taoensso.timbre.appenders.community.rolling :refer [rolling-appender]]
|
18 | 19 | [timbre-ns-pattern-level :as pattern-level]
|
19 |
| - [liiteri.local :as local]) |
| 20 | + [liiteri.local :as local] |
| 21 | + [environ.core :refer [env]]) |
20 | 22 | (:import [java.util TimeZone])
|
21 | 23 | (:gen-class))
|
22 | 24 |
|
23 |
| -(defn new-system [& [config-overrides]] |
| 25 | +(defn new-system [is_background & [config-overrides]] |
24 | 26 | (let [config (config/new-config config-overrides)]
|
25 | 27 | (log/merge-config! {:timestamp-opts {:pattern "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
|
26 | 28 | :timezone (TimeZone/getTimeZone "Europe/Helsinki")}
|
|
32 | 34 | :middleware [(pattern-level/middleware {"com.zaxxer.hikari.HikariConfig" :debug
|
33 | 35 | :all :info})]
|
34 | 36 | :output-fn (partial log/default-output-fn {:stacktrace-fonts {}})})
|
35 |
| - (component/system-map |
36 |
| - :config config |
| 37 | + (if is_background |
| 38 | + ; background |
| 39 | + (component/system-map |
| 40 | + :config config |
37 | 41 |
|
38 |
| - :login-cas-client (delay (cas/new-cas-client config)) |
| 42 | + :db (component/using |
| 43 | + (db/new-pool) |
| 44 | + [:config]) |
39 | 45 |
|
40 |
| - :kayttooikeus-cas-client (delay (cas/new-client config |
41 |
| - "/kayttooikeus-service" "j_spring_cas_security_check" |
42 |
| - "JSESSIONID")) |
| 46 | + :migrations (component/using |
| 47 | + (migrations/new-migration) |
| 48 | + [:db]) |
43 | 49 |
|
44 |
| - :audit-logger (component/using |
45 |
| - (audit-log/new-logger) |
46 |
| - [:config]) |
| 50 | + :server (component/using |
| 51 | + (server_background/new-server) [:config]) |
47 | 52 |
|
48 |
| - :db (component/using |
49 |
| - (db/new-pool) |
50 |
| - [:config]) |
| 53 | + :file-cleaner (component/using |
| 54 | + (file-cleaner/new-cleaner false) |
| 55 | + [:db :storage-engine :config :migrations]) |
51 | 56 |
|
52 |
| - :session-store (create-session-store (db/get-datasource config)) |
| 57 | + :deleted-file-cleaner (component/using |
| 58 | + (file-cleaner/new-cleaner true) |
| 59 | + [:db :storage-engine :config :migrations]) |
53 | 60 |
|
54 |
| - :server (component/using |
55 |
| - (server/new-server) |
56 |
| - [:storage-engine :login-cas-client :kayttooikeus-cas-client :session-store :db :config :audit-logger :virus-scan]) |
| 61 | + :mime-fixer (component/using |
| 62 | + (mime-fixer/new-mime-fixer) |
| 63 | + [:db :storage-engine :config :migrations]) |
57 | 64 |
|
58 |
| - :migrations (component/using |
59 |
| - (migrations/new-migration) |
60 |
| - [:db]) |
| 65 | + :preview-generator (component/using |
| 66 | + (preview-generator/new-preview-generator) |
| 67 | + [:db :storage-engine :config :migrations]) |
61 | 68 |
|
62 |
| - :virus-scan (component/using |
63 |
| - (virus-scan/new-scanner) |
64 |
| - [:db :storage-engine :config :migrations]) |
| 69 | + :s3-client (component/using |
| 70 | + (s3-client/new-client) |
| 71 | + [:config]) |
65 | 72 |
|
66 |
| - :file-cleaner (component/using |
67 |
| - (file-cleaner/new-cleaner false) |
68 |
| - [:db :storage-engine :config :migrations]) |
| 73 | + :storage-engine (component/using |
| 74 | + (s3-store/new-store) |
| 75 | + [:s3-client :config]) |
69 | 76 |
|
70 |
| - :deleted-file-cleaner (component/using |
71 |
| - (file-cleaner/new-cleaner true) |
72 |
| - [:db :storage-engine :config :migrations]) |
| 77 | + :local (component/using (local/new-local) [:config :s3-client])) |
| 78 | + ; front |
| 79 | + (component/system-map |
| 80 | + :config config |
73 | 81 |
|
74 |
| - :mime-fixer (component/using |
75 |
| - (mime-fixer/new-mime-fixer) |
76 |
| - [:db :storage-engine :config :migrations]) |
| 82 | + :login-cas-client (delay (cas/new-cas-client config)) |
77 | 83 |
|
78 |
| - :preview-generator (component/using |
79 |
| - (preview-generator/new-preview-generator) |
80 |
| - [:db :storage-engine :config :migrations]) |
| 84 | + :kayttooikeus-cas-client (delay (cas/new-client config |
| 85 | + "/kayttooikeus-service" "j_spring_cas_security_check" |
| 86 | + "JSESSIONID")) |
81 | 87 |
|
82 |
| - :s3-client (component/using |
83 |
| - (s3-client/new-client) |
| 88 | + :audit-logger (component/using |
| 89 | + (audit-log/new-logger) |
84 | 90 | [:config])
|
85 | 91 |
|
86 |
| - :storage-engine (component/using |
87 |
| - (s3-store/new-store) |
88 |
| - [:s3-client :config]) |
| 92 | + :db (component/using |
| 93 | + (db/new-pool) |
| 94 | + [:config]) |
| 95 | + |
| 96 | + :session-store (create-session-store (db/get-datasource config)) |
| 97 | + |
| 98 | + :server (component/using |
| 99 | + (server/new-server) |
| 100 | + [:storage-engine :login-cas-client :kayttooikeus-cas-client :session-store :db :config :audit-logger :virus-scan]) |
| 101 | + |
| 102 | + :migrations (component/using |
| 103 | + (migrations/new-migration) |
| 104 | + [:db]) |
| 105 | + |
| 106 | + :virus-scan (component/using |
| 107 | + (virus-scan/new-scanner) |
| 108 | + [:db :storage-engine :config :migrations]) |
| 109 | + |
| 110 | + :s3-client (component/using |
| 111 | + (s3-client/new-client) |
| 112 | + [:config]) |
| 113 | + |
| 114 | + :storage-engine (component/using |
| 115 | + (s3-store/new-store) |
| 116 | + [:s3-client :config]) |
89 | 117 |
|
90 |
| - :local (component/using (local/new-local) [:config :s3-client])))) |
| 118 | + :local (component/using (local/new-local) [:config :s3-client]))) |
| 119 | +)) |
91 | 120 |
|
92 | 121 | (defn -main [& _]
|
93 |
| - (let [_ (component/start-system (new-system))] |
| 122 | + (let [_ (component/start-system (new-system (= "liiteri-background" (:app env))))] |
94 | 123 | @(promise)))
|
0 commit comments