From cea354fc5e32667786c4a4c9f379b46b3de87ec4 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sun, 10 Oct 2021 18:03:49 +0000 Subject: Change deployment --- Rocket.toml | 10 ++++---- docker/Dockerfile | 15 ------------ docker/docker-compose.yml | 59 ----------------------------------------------- docker/noria/Dockerfile | 14 ----------- sql/query.sql | 18 +++++++++++++++ src/database.rs | 6 ++--- 6 files changed, 26 insertions(+), 96 deletions(-) delete mode 100644 docker/Dockerfile delete mode 100644 docker/docker-compose.yml delete mode 100644 docker/noria/Dockerfile create mode 100644 sql/query.sql diff --git a/Rocket.toml b/Rocket.toml index 725664f..b9c583f 100644 --- a/Rocket.toml +++ b/Rocket.toml @@ -1,4 +1,4 @@ -[development] +[debug] address = "localhost" port = 8000 #workers = [number of cpus * 2] @@ -16,11 +16,11 @@ log = "normal" #secret_key = [randomly generated at launch] limits = { forms = 32768 } -[production] -address = "0.0.0.0" -port = 8085 +[release] +address = "127.0.0.1" +port = 8000 #workers = [number of cpus * 2] -keep_alive = 5 +keep_alive = 10 log = "normal" #secret_key = [randomly generated at launch] limits = { forms = 32768 } diff --git a/docker/Dockerfile b/docker/Dockerfile deleted file mode 100644 index 15b712d..0000000 --- a/docker/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -# composer install -#FROM liuchong/rustup:nightly as build -#COPY ./ /app/ -#WORKDIR /app -#RUN cargo build --release - - -FROM debian as spotify_intersect -WORKDIR /srv/spotify_intersect -#COPY --from=build /app/target/release/spotify_intersect ./ -RUN apt-get update && apt-get -y install libssl-dev ca-certificates -COPY ./target/release/spotify_intersect ./ -COPY .env /srv/spotify_intersect/.env -COPY Rocket.toml ./ -CMD ./spotify_intersect diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml deleted file mode 100644 index 0481399..0000000 --- a/docker/docker-compose.yml +++ /dev/null @@ -1,59 +0,0 @@ -version: "3.6" -services: - spotify_intersect: - image: spotify_intersect - container_name: spotify_intersect - ports: - - 8085:8085 - build: - context: .. - dockerfile: docker/Dockerfile - #environment: - networks: - - database - - hostnet - depends_on: - - track_db - links: - - "track_db:db" - #volumes: - #- /etc/ssl/certs:/etc/ssl/certs:ro - # - zookeeper - track_db: - image: postgres - container_name: track_db - networks: - - database - ports: - - 5432:5432 - environment: - POSTGRES_PASSWORD: example - - volumes: - - ./data:/var/lib/postgresql/data - #track_db: - #image: noria - # build: - #context: .. - #dockerfile: docker/noria/Dockerfile - #volumes: - #- db:/srv/noria - #networks: - #- database - # depends_on: - #- zookeeper - #volumes: - #db: {} - #zookeeper: - #image: 'bitnami/zookeeper:latest' - #networks: - #- database - #environment: - #ALLOW_ANONYMOUS_LOGIN: "yes" - -networks: - database: - driver: bridge - hostnet: - external: true - name: frontend diff --git a/docker/noria/Dockerfile b/docker/noria/Dockerfile deleted file mode 100644 index 10b7145..0000000 --- a/docker/noria/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -# composer install -FROM liuchong/rustup:nightly as build -WORKDIR /app -RUN apt-get update -RUN apt-get -y install git clang libclang-dev libssl-dev liblz4-dev -RUN git clone https://github.com/mit-pdos/noria /app -RUN cargo build --release --bin noria-server -#RUN file target/release/noria/server - - -FROM debian as spotify_intersect -WORKDIR /srv/noria -COPY --from=build /app/target/release/noria-server /usr/bin -CMD noria-server --deployment track_db --no-reuse -z zookeeper:2181 diff --git a/sql/query.sql b/sql/query.sql new file mode 100644 index 0000000..5582f17 --- /dev/null +++ b/sql/query.sql @@ -0,0 +1,18 @@ +WITH users AS ( + SELECT * + FROM ( VALUES ('Dennis'), ('Lam') ) AS _ (user_id) + ) + SELECT track_id, name, artist + FROM track + JOIN ( + SELECT track_id + FROM user_track + JOIN suser USING (user_id) + JOIN track USING (track_id) + JOIN lobby USING (lobby_id) + WHERE suser.user_name IN (SELECT * FROM users) + GROUP BY track_id + HAVING COUNT(track_id) = (SELECT COUNT(*) FROM users) + ORDER BY EXP(SUM(LN(score))) DESC + ) AS _ USING (track_id) + ; diff --git a/src/database.rs b/src/database.rs index 7b548de..e7b6f7f 100644 --- a/src/database.rs +++ b/src/database.rs @@ -136,7 +136,7 @@ async fn get_uid(name: &str, lobby: &str, client: &Client) -> Result pub async fn match_users(lobby: String, names: &[&str]) -> Result { let client = &CLIENT; let mut songs = String::new(); - let names: Vec = names.iter().map(|x| x.to_string()).collect(); + let names: Vec = names.iter().map(|x| x.trim().to_string()).collect(); //let users: Vec<&str> = names.iter().map(|x| x.as_str()).collect(); //println!("users to match: {:?}", users); let placeholders = @@ -159,7 +159,7 @@ pub async fn match_users(lobby: String, names: &[&str]) -> Result WHERE suser.user_name IN (SELECT * FROM users) AND token = $1 GROUP BY track_id HAVING COUNT(track_id) = (SELECT COUNT(*) FROM users) - ORDER BY SUM(score) DESC + ORDER BY EXP(SUM(LN(score))) DESC ) AS _ USING (track_id) ; ", @@ -170,7 +170,7 @@ pub async fn match_users(lobby: String, names: &[&str]) -> Result println!("{:?}", values); use futures::{pin_mut, TryStreamExt}; - let mut it = client.query_raw(query.as_str(), values).await?; + let it = client.query_raw(query.as_str(), values).await?; pin_mut!(it); while let Some(row) = it.try_next().await? { let name: String = row.get(1); -- cgit v1.2.3-54-g00ecf