不能使用postgresql数据库运行web2py调度程序[英] Can not run the web2py scheduler using postgresql database

本文是小编为大家收集整理的关于不能使用postgresql数据库运行web2py调度程序的处理方法,想解了不能使用postgresql数据库运行web2py调度程序的问题怎么解决?不能使用postgresql数据库运行web2py调度程序问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我可以使用 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

有人知道如何解决这个问题吗?

谢谢!

推荐答案

我遇到了同样的错误.

  • 开发环境:windows版本的web2py w/包含web server和sqlite
  • 生产环境:web2py 绑定到 Linux 网络服务器和 PostgreSQL 上的 Apache.

为了得到实际的错误原因,我调整了 gluon/scheduler.py.删除 Scheduler.send_heartbeat() 的有罪尝试/例外后,我收到以下错误:NotSupportedError: type oid 114 not mapped to py type

用谷歌搜索这个错误,我发现 那个讨论 Niphlod 说: "问题来自于 pg8000 不支持 json 类型.改用 psycopg2."

那么,让我们试试这个 Python 模块...

本文地址:https://www.itbaoku.cn/post/1764148.html