으로 배포 된 간단한 Flask 앱에서 flask-zodb을 사용하는 중에 문제가 있습니다. flask-zodb를 사용하는 LockError
from flaskext.zodb import zodb, List
db = ZODB(app)
app.config.from_pyfile('settings.py') # here I have defined ZODB_STORAGE = "/home/username/webapps/myapp/htdocs/Data.fs"
@app.before_request
def set_db_defaults():
if 'entries' not in db:
db['entries'] = List()
또는 같은 관점에서
:[Sat May 19 16:52:30 2012] [error] [client 127.0.0.1]
self._lock_file = LockFile(file_name + '.lock')
[Sat May 19 16:52:30 2012] [error] [client 127.0.0.1] File
"/home/userame/.virtualenvs/myapp/lib/python2.7/site-packages/zc/lockfile/__init__.py",
line 76, in __init__
[Sat May 19 16:52:30 2012] [error] [client 127.0.0.1] _lock_file(fp)
[Sat May 19 16:52:30 2012] [error] [client 127.0.0.1] File
"/home/username/.virtualenvs/myapp/lib/python2.7/site-packages/zc/lockfile/__init__.py",
line 59, in _lock_file
[Sat May 19 16:52:30 2012] [error] [client 127.0.0.1] raise
LockError("Couldn't lock %r" % file.name)
[Sat May 19 16:52:30 2012] [error] [client 127.0.0.1] LockError:
Couldn't lock '/home/username/webapps/myapp/htdocs/Data.fs.lock'
응용 프로그램이 작동 :
@app.route('/add', methods=['POST'])
def add_entry():
db['entries'].append(request.form)
flash('New entry was successfully posted')
return redirect(url_for('show_entries'))
나는 다음과 같은 오류가 발생했습니다 때마다 나는 예를 설정 기본값에 대한 DB를 사용하려고 개발 환경에서 문제가 없으며 설정하려고 시도한 이후로 전제 문제가 있다고 생각하지 않습니다.
ZODB_STORAGE = "/tmp"
그리고 같은 예외가 발생합니다. 왜 이런 일이 일어나고 이런 종류의 오류를 피하는 지 이해할 수 없습니다. 어떤 아이디어?