I believe the CLOSE raw is returned for every CHECK command. I don't think
it's a problem.

Instead of polling for new data, you might want to have the database push
the data to your application. I found a thread that talks about this:
http://groups.google.com/group/ape-project/browse_thread/thread/a572863f00571d1a/de274866ee329bc2?lnk=gst&q=mysql+push+on+insert&pli=1

On Tue, Sep 28, 2010 at 9:01 AM, tUtOo <[email protected]> wrote:

> Hi everyone and thank you for reading my message,
>
> I'm using APE server with my website (Apache), everything works fine
> so far.
>
> I'm really pleased to see how quick the call`s to the server are !
>
> I have set up a timer on my website so every few seconds the client is
> sending a message to the APE Server to get back the real time which is
> stored in my database. The client update the timer on the page.
>
>
> What I don`t understand is what I get on firebug, before each call to
> the server, I get this
>
>
> POST http://2.ape.my.domain.fr:6969/0/? 200 OK 939ms
> [{"time":"1285609854","raw":"CLOSE","data":{"value":"null"}}]
>
> and then
>
> POST http://2.ape.youcent.fr:6969/0/? 200 OK 69ms
> [{"time":"1285609853","raw":"info","data":{"enchere":
> [{"id":"3","min":"29","sec":"0","last":"trae"}],"chl":5}}]
>
> What is it the « close » message ? Is that normal ? how can I improve
> my system ?
> Could check my work and tell me if something wrong ?
>
> Here`s what I've done :
>
> My client side :
>
> $(document).ready(function(){
>     var client = new APE.Client();
>
>     //Load APE client
>
>     client.load();
>
>     client.addEvent('load', function() {
>          client.core.start({'name': '' + Date.now() + ''});//Start
> with a random name
>      });
>
>     client.addEvent('ready', function() {
>         // call every seconds
>
>          $.timer(1000, function (timer) {
>               client.core.request.send( 'my_fonction_ape' );//send
> getInfo command
>          });
>
>          //onRaw info callback
>         client.onRaw('info', function( raw, params ) {
>               $.each( raw.data.enchere, function(i,o){
>                      // traitement
>               });
>         });
>     });
> });
>
>
>
> Here`s what I have on the server side :
>
> function MySQLConnect(ip, user, password, database) {
>        var sql = new Ape.MySQL(ip + ":3306", user, password,
> database);
>
>        //onConnect callback
>        sql.onConnect = function() {
>               Ape.log('You are now connected to MySQL server');
>        }
>
>        //onError callback
>        sql.onError = function(errorNo) {
>             Ape.log('Connection error ' + errorNo +' '+
> this.errorString());
>        }
>        return sql;
> }
>
> //connect to MySQL Server
> /**
> * /!\ You must specify a user and password, mysql module does not
> support yet connecting with a user without password. /!\
> */
>
> var sql = MySQLConnect("127.0.0.1", "root", "root",
> "my_database_name");
>
> //Set up a pooller to send keep alive request each 2minutes
> (function() {
>         sql.query('SELECT 1', function(res, errorNo) {
>              if (errorNo == 8) {//Something went wrong, connection
> has been closed
>              sql = MySQLConnect("127.0.0.1", "root", "root",
> "my_database_name"); //Reconnect to MySQL Server
>        }
> }.bind(this));
> }).periodical(1000*60*2);
>
> /*
> * Register getInfo command
> */
>
> Ape.registerCmd('my_fonction_ape', true, function(params, cmd) {
>        var my_sql = 'SELECT id, EXTRACT( MINUTE FROM abr_timer ) as
> min, EXTRACT( SECOND FROM
>                              abr_timer ) as sec, '+
>                              'last_bidder, price '+
>                              'FROM name_abr '+
>                              'WHERE abr_etat = "2" ';
>
> //Get data from mysql table
> sql.query( my_sql, function(res, errorNo) {
>           if (errorNo) {
>                    Ape.log('Request error : ' + errorNo + ' : '+
> this.errorString());
>           return ['101', 'MYSQL_ERROR'];
> }else{
>            Ape.log('Fetching ' + res.length + ' result(s)');//Display
> to logs data received from mysql
>           cmd.sendResponse('info', {'enchere' : res } );//Send
> results to client
> }
>
> });
>
> })
>
>
>
> This is probably pretty obvious to you, but not for me.
>
> Any help appreciated.
>
> Thx in advance.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "APE Project" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]<ape-project%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/ape-project?hl=en
> ---
> APE Project (Ajax Push Engine)
> Official website : http://www.ape-project.org/
> Git Hub : http://github.com/APE-Project/
>

-- 
You received this message because you are subscribed to the Google
Groups "APE Project" 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/ape-project?hl=en
---
APE Project (Ajax Push Engine)
Official website : http://www.ape-project.org/
Git Hub : http://github.com/APE-Project/

Reply via email to