forked from jmug/stoatchat
Multi-thread rocket and hive
This commit is contained in:
@@ -38,7 +38,7 @@ pub enum Presence {
|
||||
Online,
|
||||
Idle,
|
||||
Busy,
|
||||
Invisible
|
||||
Invisible,
|
||||
}
|
||||
|
||||
#[derive(Validate, Serialize, Deserialize, Debug)]
|
||||
@@ -47,7 +47,7 @@ pub struct UserStatus {
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
text: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
presence: Option<Presence>
|
||||
presence: Option<Presence>,
|
||||
}
|
||||
|
||||
#[derive(Validate, Serialize, Deserialize, Debug)]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
use crate::database::get_collection;
|
||||
|
||||
use log::info;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use mongodb::bson::{doc, from_document};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
struct MigrationInfo {
|
||||
@@ -59,21 +59,23 @@ pub async fn run_migrations(revision: i32) -> i32 {
|
||||
let messages = get_collection("messages");
|
||||
let attachments = get_collection("attachments");
|
||||
|
||||
messages.update_many(
|
||||
doc! { "attachment": { "$exists": 1 } },
|
||||
doc! { "$set": { "attachment.tag": "attachments", "attachment.size": 0 } },
|
||||
None
|
||||
)
|
||||
.await
|
||||
.expect("Failed to update messages.");
|
||||
messages
|
||||
.update_many(
|
||||
doc! { "attachment": { "$exists": 1 } },
|
||||
doc! { "$set": { "attachment.tag": "attachments", "attachment.size": 0 } },
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("Failed to update messages.");
|
||||
|
||||
attachments.update_many(
|
||||
doc! { },
|
||||
doc! { "$set": { "tag": "attachments", "size": 0 } },
|
||||
None
|
||||
)
|
||||
.await
|
||||
.expect("Failed to update attachments.");
|
||||
attachments
|
||||
.update_many(
|
||||
doc! {},
|
||||
doc! { "$set": { "tag": "attachments", "size": 0 } },
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("Failed to update attachments.");
|
||||
}
|
||||
|
||||
// Reminder to update LATEST_REVISION when adding new migrations.
|
||||
|
||||
10
src/main.rs
10
src/main.rs
@@ -18,6 +18,7 @@ pub mod notifications;
|
||||
pub mod routes;
|
||||
pub mod util;
|
||||
|
||||
use async_std::task;
|
||||
use chrono::Duration;
|
||||
use futures::join;
|
||||
use log::info;
|
||||
@@ -50,10 +51,13 @@ async fn main() {
|
||||
})
|
||||
.expect("Error setting Ctrl-C handler");
|
||||
|
||||
let web_task = task::spawn(launch_web());
|
||||
let hive_task = task::spawn(notifications::hive::listen());
|
||||
|
||||
join!(
|
||||
launch_web(),
|
||||
notifications::websocket::launch_server(),
|
||||
notifications::hive::listen(),
|
||||
web_task,
|
||||
hive_task,
|
||||
notifications::websocket::launch_server()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user