Giter Club home page Giter Club logo

deepstream.io-msg-redis's People

Contributors

ciscorn avatar greenkeeperio-bot avatar jdmnd avatar ojengwa avatar petemill avatar wolframhempel avatar yasserf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deepstream.io-msg-redis's Issues

An in-range update of mocha is breaking the build 🚨

Version 3.4.0 of mocha just got published.

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 💪

Status Details
  • continuous-integration/appveyor/branch AppVeyor build succeeded Details,- ❌ continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v3.4.0

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)
  • warning-related Node flags

🎉 Enhancements

🐛 Fixes

🔩 Other

Commits

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

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Action required: Greenkeeper could not be activated 🚨

🚨 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.

Unsubscribing a topic subscription should unsubscribe everything from the topic

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.

Action required: Greenkeeper could not be activated 🚨

🚨 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.

how to use it ?

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.

Rename to deepstream.io-msg-redis

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

zip file is broken

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

Server side message examples

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?

Upgrade ioredis to v3.0.0

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?

Allow option to provide own clients

Would be good to have the option to provide our own redis clients for pubsub for this connection, i.e

{
    subscriber: MySubClient,
    publisher: MyPubClient
}

Fails when using from node

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.