finnow/finnow-api/source/app.d

29 lines
901 B
D

import handy_http_transport;
import slf4d;
import slf4d.default_provider;
import scheduled;
import std.datetime;
import api_mapping;
import util.config;
void main() {
const config = readConfig();
Level logLevel = getConfiguredLoggingLevel(config);
auto provider = new DefaultProvider(logLevel);
configureLoggingProvider(provider);
infoF!"Loaded app config: port = %d, webOrigin = %s"(config.port, config.webOrigin);
// Start scheduled tasks in a separate thread:
JobScheduler jobScheduler = new TaskPoolScheduler();
jobScheduler.addJob(() {
info("Executing scheduled job with fixed interval.");
}, new FixedIntervalSchedule(minutes(1)));
jobScheduler.start();
Http1TransportConfig transportConfig = defaultConfig();
transportConfig.port = config.port;
HttpTransport transport = new TaskPoolHttp1Transport(mapApiHandlers(config.webOrigin), transportConfig);
transport.start();
}