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