I think when a table gets updated on the web it already refreshes the databases immediately and the data gets written, but I think the models routinely run or there is a delay of about 15 second after you update the data in a module to get into the database.
On Tuesday, 8 December 2015 14:03:31 UTC-5, Aydin S wrote: > > I am testing it with a test code which is exactly what I wrote so there is > only one table with my field. > I think it makes sense, that's why there is scheduler and cron developed > for web2py. I'm trying to understand if I should run model1.py (where the > module1 is imported) as a web2py cron or scheduled task. > > On Tuesday, 8 December 2015 13:58:37 UTC-5, Richard wrote: >> >> 15 seconds... how many tables does your app has? I think you are doing >> something wrong somewhere... >> >> Richard >> >> On Tue, Dec 8, 2015 at 1:53 PM, Aydin S <[email protected]> wrote: >> >>> I realized the data gets updated but it takes around 15 seconds which I >>> think it is what the model1.py routinely runs. This is a problem for me >>> because I want it to run faster. >>> >>> >>> On Tuesday, 8 December 2015 13:37:42 UTC-5, Richard wrote: >>>> >>>> Notice if you chage your module file you need to restart web2py... Or >>>> user track change feature, but in the past it was broken don't know if now >>>> it works properly... >>>> http://web2py.com/books/default/chapter/29/04/the-core?search=track_changes >>>> >>>> On Tue, Dec 8, 2015 at 1:33 PM, Aydin S <[email protected]> wrote: >>>> >>>>> In other words, module1 does not seem to run unless I refresh the >>>>> website. >>>>> >>>>> On Tuesday, 8 December 2015 13:28:26 UTC-5, Aydin S wrote: >>>>>> >>>>>> Here is what I have: >>>>>> >>>>>> In model db.py I have: >>>>>> >>>>>> db.define_table('Table1', >>>>>> Field('var1', 'integer'), >>>>>> from module1 import insert_record >>>>>> insert_record(db) >>>>>> >>>>>> and in a module1 I write on the database and also get access to the >>>>>> database: >>>>>> >>>>>> from gluon import current >>>>>> def insert_record(db): >>>>>> db = current.db >>>>>> test1 = 2 #for example >>>>>> db.Table1.insert(var=test1) >>>>>> test2 = db().select(db.Table1.var1, orderby=~db.Table1.id, >>>>>> limitby=(0, 1))[0].var1 >>>>>> >>>>>> Then test2 is used to show up on a display. test2 changes because >>>>>> var1 changes. The problem is that test2 does seem to get updated when >>>>>> var1 >>>>>> changes without refreshing the website (I refresh the databases). Is it >>>>>> because this action is in the models? Should I use scheduler to do this? >>>>>> >>>>>> On Tuesday, 8 December 2015 13:15:38 UTC-5, Richard wrote: >>>>>>> >>>>>>> Difficult to say without seeing the code, you may need db.commit() >>>>>>> or not. >>>>>>> >>>>>>> Richard >>>>>>> >>>>>>> On Tue, Dec 8, 2015 at 1:05 PM, Aydin S <[email protected]> wrote: >>>>>>> >>>>>>>> I got another question if you could help. >>>>>>>> The database does not get updated without I refresh the website in >>>>>>>> this scenario. I don't know why it is, do I need to use commit() >>>>>>>> somewhere >>>>>>>> or since this is in the models it will not run as the variable inside >>>>>>>> the >>>>>>>> module changes? Do I have to use scheduler? Any idea? >>>>>>>> >>>>>>>> On Monday, 7 December 2015 18:56:10 UTC-5, Hans Soflao wrote: >>>>>>>>> >>>>>>>>> Thanks Anthony and Richard. >>>>>>>>> Yes, my variable was inside the module and was not a global one. >>>>>>>>> Thanks for the link, I am running the variable inside the function >>>>>>>>> and it >>>>>>>>> is local. >>>>>>>>> I tested the code and it worked. >>>>>>>>> >>>>>>>>> On Monday, December 7, 2015 at 12:44:40 PM UTC-5, Richard wrote: >>>>>>>>>> >>>>>>>>>> @Hans, what is your question about variable in module exactly? >>>>>>>>>> >>>>>>>>>> What you did seems correct to me... >>>>>>>>>> >>>>>>>>>> About "db = current.db" be aware of that : >>>>>>>>>> http://web2py.com/books/default/chapter/29/04/the-core#Warning--Do-not-use-the-current-object-in-global-scope-in-a-module >>>>>>>>>> >>>>>>>>>> On Mon, Dec 7, 2015 at 12:13 PM, Hans Soflao <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Thank you, I used the method Anthony mentioned and it worked. >>>>>>>>>>> Now a follow up question, in order to have access to database in >>>>>>>>>>> this module to assign var1 (defined in the database) to var2 >>>>>>>>>>> (defined in >>>>>>>>>>> the module) what is the best method? >>>>>>>>>>> >>>>>>>>>>> For instance to have access to the latest row of data in the >>>>>>>>>>> table1 defined in the model as >>>>>>>>>>> db.define_table('Table1', >>>>>>>>>>> Field('F1', 'integer')) >>>>>>>>>>> >>>>>>>>>>> should I have in the model the following?: >>>>>>>>>>> >>>>>>>>>>> from gluon import current >>>>>>>>>>> current.db = db >>>>>>>>>>> >>>>>>>>>>> and in the module module1.py?: >>>>>>>>>>> >>>>>>>>>>> def module1(): >>>>>>>>>>> db = current.db >>>>>>>>>>> var2=db().select(db.Table1.var1, orderby=~db.Table1.id, >>>>>>>>>>> limitby=(0, 1))[0].var1 >>>>>>>>>>> >>>>>>>>>>> Thanks >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Friday, December 4, 2015 at 9:39:35 AM UTC-5, Aydin S wrote: >>>>>>>>>>> >>>>>>>>>>>> This might be asked before and I already found a similar >>>>>>>>>>>> question in here: >>>>>>>>>>>> https://groups.google.com/forum/#!topic/web2py/0k0Fvw6fmb8 >>>>>>>>>>>> but this seemed a bit confusing. How to write on database from >>>>>>>>>>>> within a module? >>>>>>>>>>>> I have a table defined in db.py (model) as follows: >>>>>>>>>>>> db.define_table('Table1', >>>>>>>>>>>> Field('F1', 'integer')) >>>>>>>>>>>> >>>>>>>>>>>> Now I have a variable var1 in the module module1.py that I want >>>>>>>>>>>> to write it into F1. >>>>>>>>>>>> >>>>>>>>>>>> var1=2 >>>>>>>>>>>> >>>>>>>>>>>> Is this similar approach to read a variable from database in a >>>>>>>>>>>> module? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>> Resources: >>>>>>>>>>> - http://web2py.com >>>>>>>>>>> - http://web2py.com/book (Documentation) >>>>>>>>>>> - http://github.com/web2py/web2py (Source code) >>>>>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>>>>>>> --- >>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>> Google Groups "web2py-users" 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/d/optout. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>> Resources: >>>>>>>> - http://web2py.com >>>>>>>> - http://web2py.com/book (Documentation) >>>>>>>> - http://github.com/web2py/web2py (Source code) >>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "web2py-users" 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/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- >>>>> Resources: >>>>> - http://web2py.com >>>>> - http://web2py.com/book (Documentation) >>>>> - http://github.com/web2py/web2py (Source code) >>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "web2py-users" 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/d/optout. >>>>> >>>> >>>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "web2py-users" 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/d/optout. >>> >> >> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" 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/d/optout.

