Have a try https://github.com/caolan/async, seems works fine.

Thanks,
Linbo

在 2013年7月26日星期五UTC+8下午8时16分56秒,linbo liao写道:
>
> 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]>: 
>> > 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] 
>> > 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.


Reply via email to