Add support for CleverCloud environment variables

This commit is contained in:
2019-03-03 14:05:50 +01:00
parent d3bac73679
commit 55c0ac150b
4 changed files with 22 additions and 7 deletions

View File

@@ -15,12 +15,21 @@ pub fn main() {
env_logger::init();
dotenv().ok();
let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set");
let database_url = env::var("POSTGRESQL_ADDON_URI")
.or(env::var("DATABASE_URL"))
.expect("DATABASE_URL must be set");
let port = env::var("PORT").unwrap_or("3000".to_string());
let mut listenfd = ListenFd::from_env();
let sys = actix::System::new("callmeback");
let addr = SyncArbiter::start(3, move || DbExecutor::new(&database_url));
let addr = SyncArbiter::start(
env::var("DATABASE_CONNECTION_COUNT")
.unwrap_or("1".to_string())
.parse()
.unwrap_or(1),
move || DbExecutor::new(&database_url),
);
let mut server = HttpServer::new(move || {
callmeback::configure_app(App::with_state(callmeback::AppState { db: addr.clone() }))
@@ -31,7 +40,7 @@ pub fn main() {
server = if let Some(l) = listenfd.take_tcp_listener(0).unwrap() {
server.listen(l)
} else {
server.bind("127.0.0.1:3000").unwrap()
server.bind(format!("0.0.0.0:{}", port)).unwrap()
};
server.start();

View File

@@ -10,10 +10,10 @@ impl Actor for DbExecutor {
impl DbExecutor {
pub fn new(database_url: &str) -> Self {
DbExecutor(
PgConnection::establish(database_url)
.unwrap_or_else(|_| panic!("Error connecting to {}", database_url)),
)
DbExecutor(match PgConnection::establish(database_url) {
Err(e) => panic!("Error connecting to {}: {}", database_url, e),
Ok(c) => c,
})
}
}