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 [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

