Assuming an event causes the data in the "other" application to change
wouldn't it be easier for the "other" application to post the changes
to your web2py app when the event occurs?   Having said that, I can
envisage a case where there are hundreds or thousands of updates per
couple of minutes and you only want a snapsot.

Looking at Massimo's videotest app, that seems to use the approach of
starting a process outside of web2py.  If that is the case then that
process could execute a method after an interval that either:
a) sends your web2py app a request that causes it to retrieve the data
from the "other" application and update the web2py app database, or
b) the process gets the data and updates the web2py database directly
(unknown to your web2py app that just selects and gets the latest)

To stop the external process your web2py app could write to the db or
a file that is checked by the external process each time it wakes up.

Admittedly, none of the above explains how to create a background
process within web2py - maybe it is just not meant to be done by a
mere mortal.

On Oct 26, 8:01 pm, tommy <[EMAIL PROTECTED]> wrote:
> Massimo,
>
> Here is my code,
>
> I use GUI button to start my service (StartEngine, in the background,
> I want to retrieve the infomation from another application and save it
> in my database for every couple of munites.  after I starting my start
> engine service, I can go to other screen. and the background service
> keeps runing.
>
> I can create the thread now, but got an error :SQLITE object created
> in a thread can only used  in that same thread.
>
> def enginestart():
>     menu_setup()
>  #   engine.start()
>     session.starttimer=True
>
>     symbols=db(db.symbols.id>0).select()
>
>    # for symbol in symbols:
>    #     engine.addMarket(symbol.symbol_Name,
> symbol.description,symbol.tick)
>
>     session.flash='engine stared'
>     session.enginestarted=True
>     db(db.historyprice.id >0).delete()
>  #   tt=threading.Timer(2, gethistoryprice(db))
>  #   tt.start()
>     t=Gethistoryprice()
>     t.start()
>     redirect(URL(r=request,c='engine',f='enginemaint'))
>     return dict()     session.starttimer=True
>
>     symbols=db(db.symbols.id>0).select()
>
>    # for symbol in symbols:
>    #     engine.addMarket(symbol.symbol_Name,
> symbol.description,symbol.tick)
>
>     session.flash='engine stared'
>     session.enginestarted=True
>     db(db.historyprice.id >0).delete()
>     t=Gethistoryprice(db)
>     t.start()
>     redirect(URL(r=request,c='engine',f='enginemaint'))
>     return dict()
>
> class  Gethistoryprice(threading.Thread):
>   def __init__(self, db):
>          threading.Thread.__init__(self)
>
>          self.stopped=0
>          self.db=db
>
>      def run(self):
>        while not self.stopped:
>           mysym=self.db(db.symbols.id>0).select()
>           for symbol in mysym:
>               #  p=engine.getlastprice(symbol)
>               p=random.randrange(10.00,60.00)
>               now=datetime.datetime.now()
>               db.historyprice.insert(symbol_Name=symbol.symbol_Name,
> timestamp= now, price=p)
>
>      def stop(self):
>          self.stopped=1
>
> On Oct 26, 2:05 pm, mdipierro <[EMAIL PROTECTED]> wrote:
>
> > This app does that. You upload a video and it is converted in
> > background (like at youtube) in a separate process (not a thread, a
> > process although the process my have threads). The visitor can later
> > check the conversion was completed. It includes documentation:
>
> >http://mdp.cti.depaul.edu/appliances/default/show/38
>
> > Massimo
>
> > On Oct 26, 2:00 pm, Keith Edmunds <[EMAIL PROTECTED]> wrote:
>
> > > On Sun, 26 Oct 2008 11:55:08 -0700 (PDT), [EMAIL PROTECTED]
> > > said:
>
> > > > 1) what other background tasks do people envisage?
>
> > > A regular display update via Ajax (but that could probably be demanded by
> > > the client rather than pushed)
>
> > > > 2) how should you do it in web2py?
>
> > > Pass.
>
> > > --
> > > Keith Edmunds- Hide quoted text -
>
> > - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" 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/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to