Hi Guy, Connect is an async call, so it returns immediately, even if you're not connected yet. Calls to the db care queued up until the connection is established.
What is probably happening is the node script runs through the connect and get and then exits right out the end before waiting for a response. The webserver works because its a long running process and there is time for that setup code to work. Move your get code into the connect callback or wrap them with the waterfall function from the async package. Cheers, Warren > On Sep 29, 2014, at 11:47 PM, Guy Knights <[email protected]> wrote: > > I'm writing an application in nodejs and am using the couchbase nodejs > library, version 1.2.4. My web application works fine and connects to > couchbase without any problems - I can get and set documents without any > issues. > > However, I'm writing a maintenance script to be run from the command line > (Linux) and for some reason I can't deduce, it fails to connect to Couchbase > at all. I'm using exactly the same connection code for this command line > script as for my web application, which is the following: > > var cb = new couchbase.Connection({ > host: config.couchbase.host, > bucket: config.couchbase.bucket, > username: config.couchbase.username, > password: config.couchbase.password > }, function(err) { > if (err) { > console.log(err); > process.exit(1); > } > }); > > I follow the above with a standard get operation but it was returning > nothing, so I started debugging further, and discovered that the contents of > the cb object after executing the above connection code is: > > { queryhosts: null, > mchosts: '', > srvhost: null, > hosts: '127.0.0.1:8091', > _cb: { _handleRestResponse: [Function] }, > connected: false } > > The other thing is that even the callback function which should log to > console any connection errors outputs nothing at all. I even put a log > statement outside the IF and that didn't get executed at all. It just seems > like it doesn't even try to connect. > > Does anyone know what might be going on here? It's driving me batty and I > can't understand why it won't work. The maintenance script is running from > the same dev server which hosts both the application and the couchbase > server, it's using the same config file with the same connection parameters, > and as I said, it's the same connection code. > > Thanks, > Guy > -- > You received this message because you are subscribed to the Google Groups > "Couchbase" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Couchbase" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
