summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Kobert <dennis@kobert.dev>2021-10-10 18:03:49 +0000
committerDennis Kobert <dennis@kobert.dev>2021-10-10 18:03:49 +0000
commitcea354fc5e32667786c4a4c9f379b46b3de87ec4 (patch)
treea492a32e58b82c10b939be097821fd18d3f52a2f
parenta3dda94db49570f7f1e6484b49bca9196c317493 (diff)
Change deploymentback
-rw-r--r--Rocket.toml10
-rw-r--r--docker/Dockerfile15
-rw-r--r--docker/docker-compose.yml59
-rw-r--r--docker/noria/Dockerfile14
-rw-r--r--sql/query.sql18
-rw-r--r--src/database.rs6
6 files changed, 26 insertions, 96 deletions
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<i32, Error>
pub async fn match_users(lobby: String, names: &[&str]) -> Result<String, Error> {
let client = &CLIENT;
let mut songs = String::new();
- let names: Vec<String> = names.iter().map(|x| x.to_string()).collect();
+ let names: Vec<String> = 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<String, Error>
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<String, Error>
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);