the "error on popping task" is shown as soon as an exception is raised into the wrapped_pop_task() function. You can remove the try:except block to see what's the underlying error, but I really don't know what it could be just watching at logs.
Il giorno lunedì 17 giugno 2013 15:18:54 UTC+2, Joe Barnhart ha scritto: > > Hi Niphlod -- > > I can start with debugging... Here is the output: > > root@groomlake2:~# python /home/www-data/web2py/web2py.py -K swim_smarter > -D 0 > web2py Web Framework > Created by Massimo Di Pierro, Copyright 2007-2013 > Version 2.5.1-stable+timestamp.2013.06.06.15.39.19 > Database drivers available: SQLite(sqlite3), MySQL(pymysql), PostgreSQL( > psycopg2), PostgreSQL(pg8000), IMAP(imaplib) > starting single-scheduler for "swim_smarter"... > DEBUG:web2py.dal:Your database version does not support the JSON data > type (using TEXT instead) > DEBUG:web2py.scheduler.groomlake2#5474:defining tables (migrate=True) > DEBUG:web2py.scheduler.groomlake2#5474:thread building own DAL object > DEBUG:web2py.scheduler.groomlake2#5474:looping... > ERROR:web2py.scheduler.groomlake2#5474: error popping tasks > DEBUG:web2py.dal:Your database version does not support the JSON data > type (using TEXT instead) > DEBUG:web2py.scheduler.groomlake2#5474:defining tables (migrate=False) > ERROR:web2py.scheduler.groomlake2#5474:Error retrieving status > ERROR:web2py.scheduler.groomlake2#5474: error popping tasks > ERROR:web2py.scheduler.groomlake2#5474: error popping tasks > ERROR:web2py.scheduler.groomlake2#5474: error popping tasks > ERROR:web2py.scheduler.groomlake2#5474: error popping tasks > ERROR:web2py.scheduler.groomlake2#5474: error popping tasks > ERROR:web2py.scheduler.groomlake2#5474: error popping tasks > ERROR:web2py.scheduler.groomlake2#5474:Error retrieving status > ERROR:web2py.scheduler.groomlake2#5474: error popping tasks > ERROR:web2py.scheduler.groomlake2#5474: error popping tasks > ERROR:web2py.scheduler.groomlake2#5474: error popping tasks > DEBUG:web2py.scheduler.groomlake2#5474:sleeping... > ERROR:web2py.scheduler.groomlake2#5474:Error retrieving status > ^CINFO:web2py.scheduler.groomlake2#5474:catched > INFO:web2py.scheduler.groomlake2#5474:die! > > I saw the migrate=True stuff and went and switched off all migrates but > the error remained. > > I also think it is odd the error is about "popping tasks" because the > tasks table has no entries at all -- nor does the run table or the worker > table. All three schduler tables are completely empty. > > As for real-time debugging this, I'm in Malaysia this week on a biz trip. > (I'm so jet-lagged I don't think I can find my head with both hands!) > > -- Joe > > On Sunday, June 16, 2013 8:20:16 PM UTC+8, Niphlod wrote: >> >> never run the scheduler with sqlite database, if you're planning to >> launch multiple schedulers. SQLite and concurrency don't go along very well. >> If your app accesses the postgresql database it should be able to connect >> as well from the scheduler, it's true, but evidently something is different >> between your "web" environment and your "scheduler" one. >> PS: can you start the scheduler with web2py.py -K appname -D 0 ? >> -D 0 enables DEBUG logs and we maybe able to see the "something" that is >> not working. >> If you can't come up with a solution, I'm available to do some debugging, >> send me a PM. >> >> On Sunday, June 16, 2013 9:08:33 AM UTC+2, Joe Barnhart wrote: >>> >>> Good points. >>> >>> But since I'm running the same application in the web server, and it can >>> see and read/write the PostgreSQL database from the web process, does that >>> imply that the scheduler process (which uses all the same files) can see >>> the database as well? If there is nu such assumption, how would I go about >>> proving access from the scheduler process? >>> >>> As an aside, I tried running the scheduler as root and as www-data (the >>> owner and group of all the web2py files). They both resulted in the same >>> errors. I was thinking about changing the scheduler to run its tables in >>> SQLite and keep the application in PostgreSQL. Would that be tempting the >>> fates to throw down more anguish on me? >>> >>> -- Joe >>> >>> On Saturday, June 15, 2013 9:56:37 PM UTC+8, Niphlod wrote: >>>> >>>> scheduler and whatever you choose to run your "web part" are totally >>>> unrelated. It's meant to be as a separate process, and can totally run on >>>> its own. What you need to check is that the scheduler instance can connect >>>> to the database (if this was a result of permission problems on the file, >>>> the breakage should have happened before those logs, e.g. reading the >>>> source file of web2py.py). >>>> >>>> On Saturday, June 15, 2013 4:20:14 AM UTC+2, Joe Barnhart wrote: >>>>> >>>>> I'm trying to set up a test server that's close to the production >>>>> server I'm going to have. I have a VM with web2py and nginx/uwsgi >>>>> installed on Debian. The database is Postgres which runs on the host of >>>>> the VM and talks thru a "host only" network adapter, also on Linux. >>>>> >>>>> It all seems to work -- web2py can see and use the Postgres database, >>>>> I can serve pages thru nginx and uwsgi. But when I start the scheduler >>>>> all >>>>> hell breaks loose. >>>>> >>>>> >>>>> web2py Web Framework >>>>> Created by Massimo Di Pierro, Copyright 2007-2013 >>>>> Version 2.5.1-stable+timestamp.2013.06.06.15.39.19 >>>>> Database drivers available: SQLite(sqlite3), MySQL(pymysql), >>>>> PostgreSQL(pg8000), IMAP(imaplib) >>>>> starting single-scheduler for "swim_smarter"... >>>>> ERROR:web2py.scheduler.groomlake2#3208: error popping tasks >>>>> ERROR:web2py.scheduler.groomlake2#3208:Error retrieving status >>>>> ERROR:web2py.scheduler.groomlake2#3208: error popping tasks >>>>> ERROR:web2py.scheduler.groomlake2#3208: error popping tasks >>>>> ERROR:web2py.scheduler.groomlake2#3208: error popping tasks >>>>> ERROR:web2py.scheduler.groomlake2#3208: error popping tasks >>>>> ERROR:web2py.scheduler.groomlake2#3208: error popping tasks >>>>> ERROR:web2py.scheduler.groomlake2#3208:Error retrieving status >>>>> ERROR:web2py.scheduler.groomlake2#3208: error popping tasks >>>>> ERROR:web2py.scheduler.groomlake2#3208: error popping tasks >>>>> ERROR:web2py.scheduler.groomlake2#3208: error popping tasks >>>>> ERROR:web2py.scheduler.groomlake2#3208: error popping tasks >>>>> >>>>> >>>>> Maybe I'm starting the scheduler wrong. I'm using sudo to start an >>>>> instance of web2py separate from uwsgi, but using www-data:www-data as >>>>> the >>>>> user and group. I only pass "-K" and the application name, once here but >>>>> I'd like to start 3 to 6 instances. The console begins immediately >>>>> pouring >>>>> out error messages from the schedulers, but I can see from the databse >>>>> tables on the host that no processes have been inserted as workers into >>>>> the >>>>> table yet. >>>>> >>>>> What is the best way of using scheduler processes with nginx/uwsgi? >>>>> Can it be started and stopped with the server? I really depend on this >>>>> scheduler -- it's one of the best features of web2py -- so if I have to >>>>> use >>>>> apache or something else in production I'll do that. >>>>> >>>>> -- Joe >>>>> >>>> -- --- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.