Python模块路径(相对于烧瓶,绝对在芹菜中)

时间:2015-02-17 21:25:44

标签: python import flask redis beaker

我正在使用beaker cache来缓存函数的输出。

当我从flask uwsgi应用程序中取消缓存时,它没有反映在芹菜应用程序中,反之亦然。

进一步调查发现,使用inspect.getsourcefile(func)的烧杯用于存储redis的唯一密钥。

现在的问题是: 在flask uwsgi app中,加载函数的路径显示为

  

./的myproject / db_api.py

在芹菜中它显示为:

  

/opt/myproject/db_api.py。

如何确保inspect.getsourcefile(func)函数在两种情况下都返回相同的路径?

要么将芹菜设置为./myporject/db_api.py或烧瓶加载路径为/opt/myproject/db_api.py就好了。

Celery在/ etc / default / celeryd中run as a daemon CELERYD_CHDIR='/opt'。在celeryconfig.py我有CELERY_IMPORTS = ('myproject.controllers.celerytasks.cache_invalidate')

在ubuntu上使用带有.ini文件的uwsig运行Flask,配置如下:

[uwsgi]
module = myproject
callable = app
chdir = /opt

0 个答案:

没有答案
相关问题