even if you have many rows an insertion doesn't involve parsing this rows...
Richard On Tue, Dec 8, 2015 at 2:11 PM, Richard Vézina <[email protected]> wrote: > There is no reason that you app should take 15 sec except you have many > many tables, you define functions or classes in models, you have many many > rows in your tables and you parse them or you operate over all of them... > What you show is a simple insertion even if there is no reason that it > could take that much time... Except you may have a really old computer... > Richard > > On Tue, Dec 8, 2015 at 2:05 PM, Aydin S <[email protected]> wrote: > >> 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. >> > > -- 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.

