Jelajahi Sumber

Enabled Redis persistance in docker-compose, fixing logout issue on restart

Kristian Vos 3 tahun lalu
induk
melakukan
d1aae27fbd
2 mengubah file dengan 89 tambahan dan 89 penghapusan
  1. 88 88
      backend/logic/api.js
  2. 1 1
      docker-compose.yml

+ 88 - 88
backend/logic/api.js

@@ -27,94 +27,94 @@ class APIModule extends CoreClass {
                         });
                     });
 
-                    response.app.get("/debug_station", async (req, res) => {
-                        const responseObject = {};
-
-                        const stationModel = await this.db.runJob(
-                            "GET_MODEL",
-                            {
-                                modelName: "station",
-                            }
-                        );
-
-                        async.waterfall([
-                            next => {
-                                stationModel.find({}, next);
-                            },
-
-                            (stations, next) => {
-                                responseObject.mongo = {
-                                    stations
-                                };
-                                next();
-                            },
-
-                            next => {
-                                this.cache
-                                    .runJob("HGETALL", { table: "stations" })
-                                    .then(stations => {
-                                        next(null, stations);
-                                    })
-                                    .catch(next);
-                            },
-
-                            (stations, next) => {
-                                responseObject.redis = {
-                                    stations
-                                };
-                                next();
-                            },
-
-                            next => {
-                                responseObject.cryptoExamples = {};
-                                responseObject.mongo.stations.forEach(station => {
-                                    const payloadName = `stations.nextSong?id=${station._id}`;
-                                    responseObject.cryptoExamples[station._id] = crypto
-                                        .createHash("md5")
-                                        .update(`_notification:${payloadName}_`)
-                                        .digest("hex")
-                                });
-                                next();
-                            },
-
-                            next => {
-                                this.notifications.pub.keys("*", next);
-                            },
-
-                            (redisKeys, next) => {
-                                responseObject.redis = {
-                                    ...redisKeys,
-                                    ttl: {}
-                                };
-                                async.eachLimit(redisKeys, 1, (redisKey, next) => {
-                                    this.notifications.pub.ttl(redisKey, (err, ttl) => {
-                                        responseObject.redis.ttl[redisKey] = ttl;
-                                        next(err);
-                                    })
-                                }, next);
-                            },
-
-                            next => {
-                                responseObject.debugLogs = this.moduleManager.debugLogs.stationIssue;
-                                next();
-                            },
-
-                            next => {
-                                responseObject.debugJobs = this.moduleManager.debugJobs;
-                                next();
-                            }
-                        ], (err, response) => {
-                            if (err) {
-                                console.log(err);
-                                return res.json({
-                                    error: err,
-                                    objectSoFar: responseObject
-                                });
-                            }
-
-                            res.json(responseObject);
-                        });
-                    });
+                    // response.app.get("/debug_station", async (req, res) => {
+                    //     const responseObject = {};
+
+                    //     const stationModel = await this.db.runJob(
+                    //         "GET_MODEL",
+                    //         {
+                    //             modelName: "station",
+                    //         }
+                    //     );
+
+                    //     async.waterfall([
+                    //         next => {
+                    //             stationModel.find({}, next);
+                    //         },
+
+                    //         (stations, next) => {
+                    //             responseObject.mongo = {
+                    //                 stations
+                    //             };
+                    //             next();
+                    //         },
+
+                    //         next => {
+                    //             this.cache
+                    //                 .runJob("HGETALL", { table: "stations" })
+                    //                 .then(stations => {
+                    //                     next(null, stations);
+                    //                 })
+                    //                 .catch(next);
+                    //         },
+
+                    //         (stations, next) => {
+                    //             responseObject.redis = {
+                    //                 stations
+                    //             };
+                    //             next();
+                    //         },
+
+                    //         next => {
+                    //             responseObject.cryptoExamples = {};
+                    //             responseObject.mongo.stations.forEach(station => {
+                    //                 const payloadName = `stations.nextSong?id=${station._id}`;
+                    //                 responseObject.cryptoExamples[station._id] = crypto
+                    //                     .createHash("md5")
+                    //                     .update(`_notification:${payloadName}_`)
+                    //                     .digest("hex")
+                    //             });
+                    //             next();
+                    //         },
+
+                    //         next => {
+                    //             this.notifications.pub.keys("*", next);
+                    //         },
+
+                    //         (redisKeys, next) => {
+                    //             responseObject.redis = {
+                    //                 ...redisKeys,
+                    //                 ttl: {}
+                    //             };
+                    //             async.eachLimit(redisKeys, 1, (redisKey, next) => {
+                    //                 this.notifications.pub.ttl(redisKey, (err, ttl) => {
+                    //                     responseObject.redis.ttl[redisKey] = ttl;
+                    //                     next(err);
+                    //                 })
+                    //             }, next);
+                    //         },
+
+                    //         next => {
+                    //             responseObject.debugLogs = this.moduleManager.debugLogs.stationIssue;
+                    //             next();
+                    //         },
+
+                    //         next => {
+                    //             responseObject.debugJobs = this.moduleManager.debugJobs;
+                    //             next();
+                    //         }
+                    //     ], (err, response) => {
+                    //         if (err) {
+                    //             console.log(err);
+                    //             return res.json({
+                    //                 error: err,
+                    //                 objectSoFar: responseObject
+                    //             });
+                    //         }
+
+                    //         res.json(responseObject);
+                    //     });
+                    // });
 
                     // Object.keys(actions).forEach(namespace => {
                     //     Object.keys(actions[namespace]).forEach(action => {

+ 1 - 1
docker-compose.yml

@@ -48,7 +48,7 @@ services:
 
   redis:
     image: redis
-    command: "--notify-keyspace-events Ex --requirepass ${REDIS_PASSWORD}"
+    command: "--notify-keyspace-events Ex --requirepass ${REDIS_PASSWORD} --appendonly yes"
     volumes:
       - .redis:/data
     ports: