Hi, Migrated to MySql from Sqlite and tested the purging feature, its working as intended :)
Thanks a lot you guys for assisting me to resolve it :) Regards, Amit On Thu, Aug 9, 2012 at 10:05 AM, Amit <amit.khaw...@gmail.com> wrote: > This is also not working giving same error: "ProgrammingError: Cannot > operate on a closed database." :( > > Regards, > Amit > > > On Thu, Aug 9, 2012 at 9:58 AM, Massimo Di Pierro < > massimo.dipie...@gmail.com> wrote: > >> This definitively would not work... >> >> how about >> >> @sched.interval_schedule(**seconds=15) >> def purge_appliance_tbl(): >> yesterday = request.now - datetime.timedelta(days=1) >> db(db.appliance_tbl.created_on < yesterday).delete() >> db.commit() >> >> >> On Wednesday, 8 August 2012 22:24:40 UTC-5, Amit wrote: >> >>> So as i understood, i need again re-establish the db connection before >>> purging the records from the table , like below: >>> >>> @sched.interval_schedule(**seconds=15) >>> def purge_appliance_tbl(): >>> yesterday = request.now - datetime.timedelta(days=1) >>> db = DAL('sqlite://storage.sqlite') >>> db(db.appliance_tbl.created_on < yesterday).delete() >>> >>> is it correct? OR do I need to re-define all the tables for local db >>> instance?if no, then how this instance will be able to recognize all tables? >>> >>> Please guide me to resolve this. >>> >>> Thanks, >>> Amit >>> >>> On Wed, Aug 8, 2012 at 10:49 PM, Massimo Di Pierro < >>> massimo....@gmail.com> wrote: >>> >>>> yes. it should >>>> >>>> On Wednesday, 8 August 2012 11:36:58 UTC-5, Anthony wrote: >>>>> >>>>> SQLite ignores the pool_size parameter, though, right? In any case, >>>>> shouldn't a background task run through the scheduler be able to establish >>>>> a db connection, even without pooling? >>>>> >>>>> Anthony >>>>> >>>>> On Wednesday, August 8, 2012 10:45:18 AM UTC-4, Massimo Di Pierro >>>>> wrote: >>>>>> >>>>>> Normally you would do >>>>>> >>>>>> db = DAL('sqlite://storage.**sql**ite',pool_size=10) >>>>>> >>>>>> where 10 is the max number of connections to keep alive and to be >>>>>> recycled across multiple requests. >>>>>> I am not sure how this interact with scheduler. >>>>>> >>>>>> On Wednesday, 8 August 2012 01:59:06 UTC-5, Amit wrote: >>>>>>> >>>>>>> >>>>>>> Hi, >>>>>>> I am using SQlite database for my web2py application, I have to keep >>>>>>> the same db instance which is created at first time request comes to >>>>>>> model >>>>>>> db.py >>>>>>> >>>>>>> >>>>>>> db = DAL('sqlite://storage.sqlite') >>>>>>> >>>>>>> database connection is getting closed once request is completed so I >>>>>>> am not able to use the "db" for some background process like purging the >>>>>>> records every day so can anyone suggest me the proper way to keep the >>>>>>> database connection alive irrespective of request? >>>>>>> >>>>>>> Scenario: >>>>>>> 1. when first time request made , db connection is established, I >>>>>>> need to keep this connection alive >>>>>>> 2. One background scheduler running continuously to check the >>>>>>> records in db and purge it based on some condition. >>>>>>> >>>>>>> Problem facing: >>>>>>> when first request made and get fulfilled, database connection is >>>>>>> getting closed because of that scheduler is not able to use the db >>>>>>> instance >>>>>>> and start throwing error "Cannot operate on a closed database." every >>>>>>> time >>>>>>> when it tries to execute the job.So I need to keep the "db"instance >>>>>>> connected to db , how can it be achieved? >>>>>> >>>>>> -- >>>> >>>> >>>> >>>> >>> >>> -- >> >> >> >> > > --