我正在 docker 本地开发一个应用程序,需要 ssl 才能与 API 端点一起使用,但我在使这些参数正常工作时遇到了问题:
gunicorn -c "python:config.gunicorn" --reload "dataexplorer.app:create_app()" --timeout 3600
--workers=5 --certfile=/ssl/registry.crt
--keyfile=/ssl/registry.key --ca-certs=/ssl/ca.cert --ssl-version=3
Run Code Online (Sandbox Code Playgroud)
Docker 找不到这些证书文件。所以我的问题是:gunicorn 在哪里寻找这些证书文件?它们如何生成?
运行 docker compose 时出现以下错误。该问题在我的 Mac OS 开发环境中根本不会发生(尝试在 Ubuntu 和 debian 中部署时发生此错误),但该错误似乎表明 Celery 无权写入 celerybeat 文件。我已经尝试了几天试图让它工作(试图给芹菜必要的权限),但没有运气。
错误
celery_1 | [2017-06-17 13:08:26,509: INFO/Beat] beat: Starting...
celery_1 | [2017-06-17 13:08:26,556: ERROR/Beat] Removing corrupted schedule file 'celerybeat-schedule': DBAccessError(13, 'Permission denied')
celery_1 | Traceback (most recent call last):
celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/beat.py", line 376, in setup_schedule
celery_1 | self._store = self._open_schedule()
celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/beat.py", line 366, in _open_schedule
celery_1 | return self.persistence.open(self.schedule_filename, writeback=True)
celery_1 | File "/usr/local/lib/python2.7/shelve.py", line 243, in open
celery_1 | return …Run Code Online (Sandbox Code Playgroud) 在我的项目中,当用户单击链接时,AJAX请求会发送创建CSV所需的信息.CSV需要很长时间才能生成,因此我希望能够在AJAX响应中包含生成的CSV的下载链接.这可能吗?
我见过的大部分答案都是以下列方式返回CSV:
return Response(
csv,
mimetype="text/csv",
headers={"Content-disposition":
"attachment; filename=myplot.csv"})
Run Code Online (Sandbox Code Playgroud)
但是,我不认为这与我发送的AJAX响应兼容:
return render_json(200, {'data': params})
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望能够在params dict中发送下载链接.但我也不确定这是否安全.这个问题通常如何解决?