我可以使用sqlite数据库运行调度程序,但是当我更改为使用postgres数据库时,我会收到错误。
代码(task.py):
def AutoRemoveCacheData():
return 'OK'
from gluon.scheduler import Scheduler
scheduler = Scheduler(db,dict(AutoRemoveCacheData=AutoRemoveCacheData),migrate=True)
错误讯息:
root@ip-123-45-67-321:/var/www/web2py# python web2py.py -K ScheduleApp
web2py Web Framework
Created by Massimo Di Pierro, Copyright 2007-2015
Version 2.9.11-stable+timestamp.2014.09.15.23.35.11
Database drivers available: SQLite(sqlite3), MySQL(pymysql), PostgreSQL(pg8000), IMAP(imaplib)
starting single-scheduler for "ScheduleApp"...
ERROR:web2py.scheduler.ip-123-45-67-321#1388:Error retrieving status
ERROR:web2py.scheduler.ip-123-45-67-321#1388:Error retrieving status
ERROR:web2py.scheduler.ip-123-45-67-321#1388:Error retrieving status
有谁知道如何解决这个问题?
谢谢!
答案 0 :(得分:2)
我遇到了同样的错误。
为了解决实际的错误原因,我调整了gluon/scheduler.py
。删除有罪的尝试/除了Scheduler.send_heartbeat()后,我收到以下错误:NotSupportedError: type oid 114 not mapped to py type
搜索此错误我发现that discussion Niphlod说:“问题来自pg8000不支持json类型。使用psycopg2而不是。”
所以,让我们试试这个Python模块......