Thanks, But I already ask this solution in the first post
1. put http server in query callback. Will it cause Mysql keep connect during http server running? If Mysql disconnect (usually after 8 hours), application works fine? Thanks, Linbo 在 2013年7月26日星期五UTC+8下午8时08分41秒,Alan Hoffmeister写道: > > Look at the gist[1] that I sent to you, that way you will start the > http server when the query finishes. > > 1 - https://gist.github.com/alanhoff/6088166 > -- > Att, > Alan Hoffmeister > > > 2013/7/26 linbo liao <[email protected] <javascript:>>: > > Yes, that's why I ask this question. After application restart, I need > query > > Mysql only once, but how to combine query code with http server code. > > > > 在 2013年7月26日星期五UTC+8下午7时46分33秒,Alan Hoffmeister写道: > >> > >> Well, you need to try to connect to Redis, if it fails throw an error > >> and restart the app (using forever[1] or supervisor[2]), then you need > >> to query MySQL for the last ID and set the value inside Redis, then > >> run the server, it's kinda simple :-) > >> > >> 1 - https://github.com/nodejitsu/forever > >> 2 - https://github.com/isaacs/node-supervisor > >> -- > >> Att, > >> Alan Hoffmeister > >> > >> > >> 2013/7/26 linbo liao <[email protected]>: > >> > Just simplify the follow. > >> > > >> > For each request, application get an id from redis(using incr > command), > >> > and > >> > store id to Mysql in other module. When redis is down, application > need > >> > get > >> > latest id from Mysql and reset it in redis, to make sure no id is > >> > duplicated > >> > when created from redis for anytime. > >> > > >> > Thanks, > >> > Linbo > >> > > >> > 在 2013年7月26日星期五UTC+8下午7时27分05秒,Alan Hoffmeister写道: > >> >> > >> >> https://gist.github.com/alanhoff/6088166 > >> >> > >> >> 1 - It will depends on how your driver is configured. > >> >> 2 - Use cache to avoid performance issue. > >> >> -- > >> >> Att, > >> >> Alan Hoffmeister > >> >> > >> >> > >> >> 2013/7/26 linbo liao <[email protected]>: > >> >> > Hi All, > >> >> > > >> >> > A simple question, I use nodejs for HTTP restful API service. Now > I > >> >> > want > >> >> > query some mysql data before http server start, the code snippet: > >> >> > > >> >> > var price = -1; > >> >> > var userId = 'some user provided value'; > >> >> > var sql = 'SELECT max(price) FROM users WHERE id = ' + > >> >> > connection.escape(userId); > >> >> > connection.query(sql, function(err, results) { > >> >> > price = results.price; > >> >> > }); > >> >> > > >> >> > server = http.createServer(function (request, response) { > >> >> > handler(request); //response depend on price > >> >> > }).listen(8012); > >> >> > > >> >> > Here are two solution to combine mysql query and http server code. > >> >> > > >> >> > 1. put http server in query callback. Will it cause Mysql keep > >> >> > connect > >> >> > during http server running? If Mysql disconnect (usually after 8 > >> >> > hours), > >> >> > application works fine? > >> >> > > >> >> > 2. put query in every request, which cause Mysql query each time > for > >> >> > every > >> >> > request, maybe performance issue. > >> >> > > >> >> > Any other suggestion for this situation? > >> >> > > >> >> > Thanks, > >> >> > > >> >> > Linbo > >> >> > > >> >> > > >> >> > > >> >> > -- > >> >> > -- > >> >> > Job Board: http://jobs.nodejs.org/ > >> >> > Posting guidelines: > >> >> > > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > >> >> > You received this message because you are subscribed to the Google > >> >> > Groups "nodejs" group. > >> >> > To post to this group, send email to [email protected] > >> >> > To unsubscribe from this group, send email to > >> >> > [email protected] > >> >> > For more options, visit this group at > >> >> > http://groups.google.com/group/nodejs?hl=en?hl=en > >> >> > > >> >> > --- > >> >> > You received this message because you are subscribed to the Google > >> >> > Groups > >> >> > "nodejs" 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/groups/opt_out. > >> >> > > >> >> > > >> > > >> > -- > >> > -- > >> > Job Board: http://jobs.nodejs.org/ > >> > Posting guidelines: > >> > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > >> > You received this message because you are subscribed to the Google > >> > Groups "nodejs" group. > >> > To post to this group, send email to [email protected] > >> > To unsubscribe from this group, send email to > >> > [email protected] > >> > For more options, visit this group at > >> > http://groups.google.com/group/nodejs?hl=en?hl=en > >> > > >> > --- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "nodejs" 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/groups/opt_out. > >> > > >> > > > > > -- > > -- > > Job Board: http://jobs.nodejs.org/ > > Posting guidelines: > > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > > You received this message because you are subscribed to the Google > > Groups "nodejs" group. > > To post to this group, send email to [email protected]<javascript:> > > To unsubscribe from this group, send email to > > [email protected] <javascript:> > > For more options, visit this group at > > http://groups.google.com/group/nodejs?hl=en?hl=en > > > > --- > > You received this message because you are subscribed to the Google > Groups > > "nodejs" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to [email protected] <javascript:>. > > For more options, visit https://groups.google.com/groups/opt_out. > > > > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" 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/groups/opt_out.
