Here is databaseworker.js:

var wp = google.gears.workerPool;

wp.allowCrossOrigin();

wp.onerror = function(errorObject)
        {
        alert("Error in workerPool: "+errorObject.message+"  on
line"+errorObject.lineNumber);
        };

wp.onmessage = function(a, b, message) 
{
        wp.sendMessage("Ok, started....",message.sender);
        var serverresponse= message.body;
  if (1)
  {
  try 
         {
           
       eval("dataarr="+serverresponse);
           wp.sendMessage("Error: No valid data found. Data
was:"+serverresponse,message.sender);

                
      }
   catch (ex) 
   {
           wp.sendMessage(ex.message,message.sender);
          //wp.sendMessage("Error: No valid data found..",message.sender);
          //alert("Error: No valid data found..");
      return;
    }
 
                var dbcount=0;
                var reply="no reply";
                var db ;
                db= google.gears.factory.create('beta.database');
                
                if (db)
                {
                  db.open('tml_impact_gears');
                  db.execute('begin');
                  db.execute('drop table if exists orders');
                  db.execute('create table if not exists orders' +
                                   '(order_id, order_no,
order_no_iteration,estimated_completion_date, other_contact_tel, primary key
(order_id))');
  for (x in dataarr)
    {
                db.execute('insert into orders values(?,?,?,?,?)',
           [dataarr[x].order_id,
                dataarr[x].order_no,
                dataarr[x].order_no_iteration,
                dataarr[x].estimated_completion_date,
                dataarr[x].other_contact_tel]);
                dbcount++;
    }
}
  db.execute('commit');
db.close();
reply=dbcount+" record(s) added from main DB, finished";       }

    wp.sendMessage(reply, message.sender);
  };

Thanks for looking at it.
meerkat


> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> On Behalf Of Oblygre
> Sent: Tuesday, February 17, 2009 8:12 AM
> To: Gears Users
> Subject: [gears-users] Re: workerpool messages
> 
> 
> Please post the relevant code so its easier for us to help you
>  :--))))))))))
> Olav
> 
> 
> On Feb 16, 12:36 pm, "meerkat" <[email protected]> wrote:
> > Hi,
> > In my main Gears file I have "alert(data);" and the correct data is
> there. I
> > get the message "Status: "36117 byte(s) read from main DB, adding data
> to
> > local DB".
> >
> > Where do I set " var serverresponse=message.body;" If I put it in
> > databaseworker.js I get "message is not defined" error.
> > Thanks, meerkat
> >
> >
> >
> > > -----Original Message-----
> > > From: [email protected] [mailto:gears-
> [email protected]]
> > > On Behalf Of Oblygre
> > > Sent: Monday, February 16, 2009 6:03 AM
> > > To: Gears Users
> > > Subject: [gears-users] Re: workerpool messages
> >
> > > You get the error beacuse data in your serverresponse variable
> > > contains not valid json data.
> > > Try
> > > wp.sendMessage("Error: No valid data found. Data
> > > was:"+serverresponse,message.sender);
> > > to have a look at the data your getting.
> > > Serverresponse varaiable must be set to the recived data from the
> > > parent script.
> > > In my example over, serverresponse must be set to message.body
> > > var serverresponse=message.body;
> >
> > > On Feb 15, 8:01 pm, "meerkat" <[email protected]> wrote:
> > > > OK, now getting wp messages on screen.
> > > > In main html file I am getting "undefined" for
> > > "workerPool.sendMessage(data,
> > > > childWorkerId)".
> >
> > > > I have done, for testing purposes, alert(data); and
> >
> > alert(childWorkerId);
> >
> > > > and they are returning the correct values individually. So why is
> > > > "console.log(workerPool.sendMessage(data, childWorkerId));" getting
> > > > "undefined"?
> >
> > > > In databaseworker.js I now have:
> > > > "
> > > > try
> > > >          {
> > > >        eval("dataarr="+serverresponse);
> >
> > > >       }
> > > >    catch (ex)
> > > >    {
> > > >           wp.sendMessage("Error: No valid data
> found..",message.sender);
> > > >                 return;
> > > >     }"
> >
> > > > And I am getting "Error: No valid data found.." message.
> >
> > > > Any more suggestions?
> > > > meerkat
> >
> > > > > -----Original Message-----
> > > > > From: [email protected] [mailto:gears-
> > > [email protected]]
> > > > > On Behalf Of Oblygre
> > > > > Sent: Sunday, February 15, 2009 2:52 PM
> > > > > To: Gears Users
> > > > > Subject: [gears-users] Re: workerpool messages
> >
> > > > > A suggestion how to return and show messages from a workerpool.
> > > > > Also a replay to your other message :-))
> >
> > > > > In your databaseworker.js:
> > > > > var wp = google.gears.workerPool;
> > > > > wp.onmessage = function(a, b, message) {
> > > > >   wp.sendMessage("Ok, started....",message.sender); //Send message
> bak
> > > > > to caller
> > > > >   .. other code
> >
> > > > > In your calling script:
> > > > > workerPool = google.gears.factory.create('beta.workerpool');
> > > > >     workerPool.onmessage = function(a, b, message) {
> > > > >      alert(message.body); //Show message recived from workerPool
> > > > >     }
> > > > > var childWorkerId =
> > > > >     workerPool.createWorkerFromUrl('databaseworker.js');
> > > > >     workerPool.sendMessage(data, childWorkerId);
> >
> > > > > On Feb 14, 8:08 pm, meerkat <[email protected]> wrote:
> > > > > > Hello,
> > > > > > Where and how can I as a programmer see the workerpool messages?
> >
> > > > > > I can't see anything in the Firebug console? Do I explicitly
> have to
> > > > > > write to this console? How do I do that? Or is there a better
> > > > > > solution?
> > > > > > Thanks.
> > > > > > meerkat

Reply via email to