deepstreamio / deepstream.io-msg-redis Goto Github PK
View Code? Open in Web Editor NEWRedis Message Connector
License: Other
Redis Message Connector
License: Other
🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨
To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.
Since we didn’t receive a CI status on the greenkeeper/initial
branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.
If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/
.
Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.
I would like to setup Deepstream in full HA setup and ensure there is no bugs left regarding Sentinel and failover as we regurlarly simulates server failure.
Moreover this version comes with a great improvement regarding the performance.
The interface is still the same so I don't think it will break the compatiblity with the usage of redis inside Deepstream.
Could you please upgrade the ioredis version to the last version v3.0.0?
Hi I got that error after a fresh install, i use node version 10.15 and linux (ubuntu)
PLUGIN_INITIALIZATION_ERROR | message needs to implement async whenReady and close, please look at the DeepstreamPlugin API here
Thank you I love this project you have made a great job
atm am trying to test ds with laravel, so on the server side i added
$data = [
'title' => 'hello there',
'message' => 'some message',
];
Redis::publish('all-channel', json_encode($data));
and on the client which use vuejs
<template></template>
<script>
var client = deepstream('localhost:6020').login()
export default {
created() {
client.event.subscribe('all-channel', (data) => {
console.log(data)
})
},
}
</script>
now in ds window
INFO | logger ready
INFO | deepstream version: 2.1.2
INFO | configuration file loaded from conf/config.yml
INFO | library directory set to: /Users/novo/Downloads/deepstream.io-mac-2.1.2/lib
INFO | storage ready
INFO | authenticationHandler ready: none
INFO | messageConnector ready
INFO | cache ready
INFO | permissionHandler ready: valve permissions loaded from /Users/novo/Downloads/deepstream.io-mac-2.1.2/conf/permissions.yml
INFO | Listening for health checks on path /health-check
CLUSTER_JOIN | iz2cvyu6-5v0c8861fbc4
INFO | Listening for websocket connections on 0.0.0.0:6020/deepstream
INFO | Deepstream started
INCOMING_CONNECTION | from undefined (127.0.0.1)
AUTH_ATTEMPT | 127.0.0.1: AREQ{}
AUTH_SUCCESSFUL | open
S | for E:all-channel by open
US | for E:all-channel by open
CLIENT_DISCONNECTED | open
INCOMING_CONNECTION | from undefined (127.0.0.1)
AUTH_ATTEMPT | 127.0.0.1: AREQ{}
AUTH_SUCCESSFUL | open
S | for E:all-channel by open
and to test redis
redis-cli
127.0.0.1:6379> SUBSCRIBE all-channel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "all-channel"
3) (integer) 1
1) "message"
2) "all-channel"
3) "{\"title\":\"hello there\",\"message\":\"some message\"}"
which is working, again i apologize for opening a ticket but the event pub/sub part in the docs is not clear regarding this matter.
Hi I have to rename the folder created from deepstream.io-msg-redis to deepstream.io-message-redis because it said that the directory folder couln't be found
I know it's a quick fix, it's just to let you know
I use linux and the installation was from the deepstream website tutorial
./deepstream install msg redis
Would be good to have the option to provide our own redis clients for pubsub for this connection, i.e
{
subscriber: MySubClient,
publisher: MyPubClient
}
Deepstream has some instances where it wants to unsubscribe a specific callback from being called for a topic. For example, when finished with an RPC Proxy call (after sending or receiving a response or error).
However, when MessageConnector.unsubscribe is called, passing through the appropriate callback, this connector unsubscribes everything from that topic with a blanket this.client.unsubscribe( topic );
I'm certain this isn't right, and is what is causing the issue I'm seeing at deepstreamIO/deepstream.io#59
Could someone let me know if this is the case, and I suggest (I am happy to build it) creating an in-memory store of the topics we are still interested in, and the callback subscribers. When that reaches 0, then we can blanket unsubscribe from the topic. Furthermore, the subscription logic would also be faulty as we are subscribing multiple times. If this is the case, we should check if we are already subscribed first.
Branch | Build failing 🚨 |
---|---|
Dependency | mocha |
Current Version | 3.3.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As mocha is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.
I recommend you give this issue a high priority. I’m sure you can resolve this 💪
Mocha is now moving to a quicker release schedule: when non-breaking changes are merged, a release should happen that week.
This week's highlights:
allowUncaught
added to commandline as --allow-uncaught
(and bugfixed)--no-warnings
and --trace-warnings
flags (@sonicdoe)The new version differs by 9 commits0.
7554b31
Add Changelog for v3.4.0
9f7f7ed
Add --trace-warnings
flag
92561c8
Add --no-warnings
flag
ceee976
lint test/integration/fixtures/simple-reporter.js
dcfc094
Revert "use semistandard
directly"
93392dd
no special case for macOS running Karma locally
4d1d91d
--allow-uncaught cli option
fb1e083
fix allowUncaught in browser
4ed3fc5
Add license report and scan status
false
See the full diff
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot 🌴
Hiya,
The client side is pretty well documented but the server is a little lacking.
For the message example - I thought I'd be able to use something like:
msgConnector.subscribe("user/*", fn)
and trap an emit from the client:
ds.event.emit( 'user/bob', 'someData' );
But I'm not having any luck.
Do you have some more concrete examples of server side message handling?
Cant install msg redis and cache redis for OS X and also for ubuntu
$ bin/deepstream install msg redis --verbose
searching for deepstream.io-msg-redis
Downloading version v1.0.0
Download complete
Invalid or unsupported zip format. No END header found
Error: Could not extract archive
🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨
To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.
Since we didn’t receive a CI status on the greenkeeper/initial
branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.
If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/
.
Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.
This is deepstream.io-msg-redis-0.2.7.tgz on npm. After unpacking it and comparing package/package.json
with package.json
from this repository, you'll notice that the dependencies differ, even though the version numbers are the same.
My server looks like
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var config = require('./config/environment');
var redisMessageConnector = require( "deepstream.io-msg-redis" );
var redisCacheConnector = require( "deepstream.io-cache-redis" );
var rethinkDBStorageConnector = require( "deepstream.io-storage-rethinkdb" );
const DeepstreamServer = require('deepstream.io')
const C = DeepstreamServer.constants
const server = new DeepstreamServer(config.deepstream);
server.set( 'messageConnector', new redisCacheConnector(config.messageConnector));
server.set( 'cache', new redisCacheConnector( config.cacheConnector));
server.set( 'storage', new rethinkDBStorageConnector(config.storageConnector));
server.start()
When I try and use with the latest deepstream get the following error
this._options.messageConnector.subscribe( C.TOPIC.CLUSTER, this.
_onMessageFn );
^
TypeError: this._options.messageConnector.subscribe is not a function
at new ClusterRegistry (C:\dev\testdeepstream\src\node\testdeepstream\node_modules\deepstr
eam.io\src\cluster\cluster-registry.js:40:34)
at Deepstream._init (C:\dev\testdeepstream\src\node\testdeepstream\node_modules\deepstream
.io\src\deepstream.io.js:289:34)
at Deepstream._checkReady (C:\dev\testdeepstream\src\node\testdeepstream\node_modules\deep
stream.io\src\deepstream.io.js:333:8)
at DependencyInitialiser.g (events.js:291:16)
at emitNone (events.js:86:13)
at DependencyInitialiser.emit (events.js:185:7)
at DependencyInitialiser._emitReady (C:\dev\testdeepstream\src\node\testdeepstream\node_mo
dules\deepstream.io\src\utils\dependency-initialiser.js:113:7)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
What's changed?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.