actix / actix-extras

A collection of additional crates supporting the actix and actix-web frameworks.
https://actix.rs
Apache License 2.0
776 stars 199 forks source link

actix-redis docs looks outdated #18

Closed EstebanBorai closed 4 years ago

EstebanBorai commented 4 years ago

Hi! Thanks for all the awesome work on actix!

At the moment Im working on an Actix/Redis implementation but I found issues using the crate actix_redis.

The current docs point out references to App.middleware and actix-web v2 implements wrap instead. (Correct me if Im wrong).

This is my current implementation:

#[macro_use]
extern crate log;

#[macro_use]
extern crate diesel;

#[macro_use]
extern crate diesel_migrations;

use actix_web::middleware::Logger;
use actix_web::{App, HttpServer};
use actix_redis::{RedisSession};
use dotenv::dotenv;
use std::env;

mod schema;
mod server;
mod user;
mod auth;

#[actix_rt::main]
async fn main() -> std::io::Result<()> {
    dotenv().ok();
    env_logger::init();

    // Initialize Database
    server::init_database();

    let host = env::var("HOST").expect("Host not set");
    let port = env::var("PORT").expect("Port not set");
    let redis_host = env::var("REDIS_HOST").expect("Redis Host is missing");
    let redis_port = env::var("REDIS_PORT").expect("Redis Port is missing");

    let server = HttpServer::new(move ||
        App::new()
            .wrap(Logger::default())
            .wrap(RedisSession::new(format!("{}:{}", redis_host, redis_port), &[0; 32]))
            .configure(user::init_routes)
            .configure(auth::init_routes)
    );

    server.bind(format!("{}:{}", host, port))?
        .run()
        .await
}

And Im getting multiple messages from the logger, like an infinity loop:

[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
^Cactix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_redis::redis] Connected to redis server: 127.0.0.1:6379
[2020-03-08T23:56:27Z INFO  actix_server::builder] SIGINT received, exiting
[2020-03-08T23:56:27Z ERROR actix_redis::redis] Can not connect to redis server: Mailbox has closed
[2020-03-08T23:56:27Z ERROR actix_redis::redis] Can not connect to redis server: Mailbox has closed

Any help on this?

Thanks in advance!

EstebanBorai commented 4 years ago

Closing this issue, I found the problem in my redis.conf file.