Commit d1801a3f authored by jan.koester's avatar jan.koester
Browse files

redis have now timeout settings

parent e43ac72e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ namespace blogi {

    class RedisStore : public Store {
    public:
        RedisStore(const char *host,int port,const char *password=nullptr);
        RedisStore(const char *host,int port,const char *password=nullptr,int millitout=0);
        ~RedisStore();

        void save(const char *key,const char *data,size_t datalen) override;
+2 −2
Original line number Diff line number Diff line
@@ -495,9 +495,9 @@ namespace blogi {
            Args->edit->addIcon(icondata,icondatalen,"selimage","webp","Insert Image from media albums");

            if(Args->config->getRedisPassword()){
                _store = new RedisStore(Args->config->getRedisHost(),Args->config->getRedisPort(),Args->config->getRedisPassword());
                _store = new RedisStore(Args->config->getRedisHost(),Args->config->getRedisPort(),Args->config->getRedisPassword(),Args->config->getRedisTimeout());
            }else{
                _store = new RedisStore(Args->config->getRedisHost(),Args->config->getRedisPort());
                _store = new RedisStore(Args->config->getRedisHost(),Args->config->getRedisPort(),nullptr,Args->config->getRedisTimeout());
            }
        }

+3 −3
Original line number Diff line number Diff line
@@ -34,11 +34,11 @@

#include "backend.h"

blogi::RedisStore::RedisStore(const char *host,int port,const char *password){
blogi::RedisStore::RedisStore(const char *host,int port,const char *password,int millitout){

    struct timeval timeout = { 1, 0 }; // 1.5 seconds
    struct timeval timeout = { 0, millitout }; // 1.5 seconds

    _RedisCTX=redisConnect(host,port);
    _RedisCTX=redisConnectWithTimeout(host,port,timeout);

    if (_RedisCTX->err) {
        libhttppp::HTTPException exp;
+9 −0
Original line number Diff line number Diff line
@@ -79,6 +79,11 @@ blogi::Config::Config(const char *path) : confplus::Config(path){
    else
        _RedisPort=-1;

    if(getKey("/BLOGI/REDIS/TIMEOUT"))
        _RedisTimeout=getIntValue(getKey("/BLOGI/REDIS/TIMEOUT"),0);
    else
        _RedisTimeout=0;

    if(getKey("/BLOGI/HTTP/URL"))
        _HttpUrl=getValue(getKey("/BLOGI/HTTP/URL"),0);

@@ -186,6 +191,10 @@ int blogi::Config::getRedisPort(){
    return _RedisPort;
}

int blogi::Config::getRedisTimeout(){
    return _RedisTimeout;
}

const char * blogi::Config::getsiteurl(){
    if(_HttpUrl.empty())
        return nullptr;
+2 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ namespace blogi {
        const char *getRedisHost();
        int         getRedisPort();
        const char *getRedisPassword();
        int         getRedisTimeout();

        const char *getsslcertpath();
        const char *getsslkeypath();
@@ -84,6 +85,7 @@ namespace blogi {
        int                       _MaxCon;
        std::string               _RedisHost;
        int                       _RedisPort;
        int                       _RedisTimeout;
        std::string               _RedisPassword;
        std::string               _HttpUrl;
        std::string               _HttpPrefix;