Using redis-pubsub server and cleaning up unread counts node server.

This commit is contained in:
Samuel Clay 2021-04-02 18:43:11 -04:00
parent 2832380cac
commit da3643c24d
2 changed files with 22 additions and 22 deletions

View file

@ -10,7 +10,7 @@ unread_counts = (server) =>
if ENV_DEV
REDIS_SERVER = 'localhost'
else if ENV_PROD
REDIS_SERVER = 'db-redis-user.service.nyc1.consul'
REDIS_SERVER = 'db-redis-pubsub.service.nyc1.consul'
SECURE = !!process.env.NODE_SSL
REDIS_PORT = if ENV_DOCKER then 6579 else 6379
@ -55,21 +55,21 @@ unread_counts = (server) =>
socket.on "error", (err) ->
log.debug "Error (socket): #{err}"
socket.subscribe?.quit()
socket.subscribe = redis.createClient REDIS_PORT, REDIS_SERVER
socket.subscribe.on "error", (err) =>
socket.client?.quit()
socket.client = redis.createClient REDIS_PORT, REDIS_SERVER
socket.client.on "error", (err) =>
log.info @username, "Error: #{err} (#{@feeds.length} feeds)"
socket.subscribe?.quit()
socket.subscribe.on "connect", =>
socket.client?.quit()
socket.client.on "connect", =>
log.info @username, "Connected (#{@feeds.length} feeds, #{ip})," +
" (#{io.engine.clientsCount} connected) " +
" #{if SECURE then "(SSL)" else "(non-SSL)"}"
socket.subscribe.subscribe @feeds
socket.client.subscribe @feeds
feeds_story = @feeds.map (f) -> "#{f}:story"
socket.subscribe.subscribe feeds_story
socket.subscribe.subscribe @username
socket.client.subscribe feeds_story
socket.client.subscribe @username
socket.subscribe.on 'message', (channel, message) =>
socket.client.on 'message', (channel, message) =>
event_name = 'feed:update'
if channel == @username
event_name = 'user:update'
@ -79,7 +79,7 @@ unread_counts = (server) =>
socket.emit event_name, channel, message
socket.on 'disconnect', () =>
socket.subscribe?.quit()
socket.client?.quit()
log.info @username, "Disconnect (#{@feeds?.length} feeds, #{ip})," +
" there are now #{io.engine.clientsCount} users. " +
" #{if SECURE then "(SSL)" else "(non-SSL)"}"

View file

@ -17,7 +17,7 @@
if (ENV_DEV) {
REDIS_SERVER = 'localhost';
} else if (ENV_PROD) {
REDIS_SERVER = 'db-redis-user.service.nyc1.consul';
REDIS_SERVER = 'db-redis-pubsub.service.nyc1.consul';
}
SECURE = !!process.env.NODE_SSL;
REDIS_PORT = ENV_DOCKER ? 6579 : 6379;
@ -61,26 +61,26 @@
socket.on("error", function(err) {
return log.debug(`Error (socket): ${err}`);
});
if ((ref = socket.subscribe) != null) {
if ((ref = socket.client) != null) {
ref.quit();
}
socket.subscribe = redis.createClient(REDIS_PORT, REDIS_SERVER);
socket.subscribe.on("error", (err) => {
socket.client = redis.createClient(REDIS_PORT, REDIS_SERVER);
socket.client.on("error", (err) => {
var ref1;
log.info(this.username, `Error: ${err} (${this.feeds.length} feeds)`);
return (ref1 = socket.subscribe) != null ? ref1.quit() : void 0;
return (ref1 = socket.client) != null ? ref1.quit() : void 0;
});
socket.subscribe.on("connect", () => {
socket.client.on("connect", () => {
var feeds_story;
log.info(this.username, `Connected (${this.feeds.length} feeds, ${ip}),` + ` (${io.engine.clientsCount} connected) ` + ` ${SECURE ? "(SSL)" : "(non-SSL)"}`);
socket.subscribe.subscribe(this.feeds);
socket.client.subscribe(this.feeds);
feeds_story = this.feeds.map(function(f) {
return `${f}:story`;
});
socket.subscribe.subscribe(feeds_story);
return socket.subscribe.subscribe(this.username);
socket.client.subscribe(feeds_story);
return socket.client.subscribe(this.username);
});
return socket.subscribe.on('message', (channel, message) => {
return socket.client.on('message', (channel, message) => {
var event_name;
event_name = 'feed:update';
if (channel === this.username) {
@ -94,7 +94,7 @@
});
return socket.on('disconnect', () => {
var ref, ref1;
if ((ref = socket.subscribe) != null) {
if ((ref = socket.client) != null) {
ref.quit();
}
return log.info(this.username, `Disconnect (${(ref1 = this.feeds) != null ? ref1.length : void 0} feeds, ${ip}),` + ` there are now ${io.engine.clientsCount} users. ` + ` ${SECURE ? "(SSL)" : "(non-SSL)"}`);