小编pol*_*ath的帖子

使用docker部署时,Celery,Django,Redis遇到错误99

我尝试在docker中部署我的Django项目和芹菜,我想使用redis作为后端的结果.

Django版本1.11.3芹菜版本4.1.0

我的docker-compose.yml如下:

python:
  image: python:latest
  restart: always
  expose:
    - "8000"
  volumes:
    - ~/django/902Scratch/API:/home/django/API 
    - /var/sb2_files:/var/sb2_files 
    - /home/tuopinpin/JudgeServer/tests/test_case:/test_case 
  links:
    - celery:celery
  command: bash -c " cd /home/django/API &&  python manage.py runserver 0.0.0.0:8000"
  ports:
        - "0.0.0.0:8000:8000"

celery:
  image: python:latest
  restart: always
  volumes:
    - ~/django/902Scratch/API:/home/django/API 
    - /var/sb2_files:/var/sb2_files 
  user: nobody
  depends_on:
    - redis
  links:
    - redis:redis
  command: bash -c " cd /home/django/API && celery -A API worker"

redis:
  image: redis:alpine
  restart: always
  expose:
    - '6379'
  ports:
    - '6379:6379'
Run Code Online (Sandbox Code Playgroud)

django的芹菜设置如下:

CELERY_BROKER_URL = 'redis://redis:6379/0'
CELERY_BROKER_TRANSPORT …
Run Code Online (Sandbox Code Playgroud)

django redis celery docker docker-compose

8
推荐指数
1
解决办法
790
查看次数

google-api-python-client 1.8.1 的重大更改 - AttributeError: 模块 'googleapiclient' 没有属性 '__version__'

升级到新的google-api-python-client1.8.1 后,我收到此错误。我们知道 python 3.8 是否打破了最新版本google-api-core?以及是否有解决方案

 Traceback (most recent call last):
   File "/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
     worker.init_process()
   File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py", line 129, in init_process
     self.load_wsgi()
   File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
     self.wsgi = self.app.wsgi()
   File "/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
     self.callable = self.load()
   File "/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
     return self.load_wsgiapp()
   File "/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
     return util.import_app(self.app_uri)
   File "/usr/local/lib/python3.8/site-packages/gunicorn/util.py", line 350, in import_app
     __import__(module)
   File "/prosebit/prosebit/app.py", line 10, in <module>
     from prosebit.blueprints.page import page
   File …
Run Code Online (Sandbox Code Playgroud)

python google-api google-api-python-client

7
推荐指数
1
解决办法
1146
查看次数

Flask OIDC 用户登录为 true 但 token 为 None

我正在使用 Flask-OIDC 库对外部服务执行用户身份验证。

当用户第一次登录时,ODIC 库运行良好。我可以看到用户信息和从外部身份验证生成的承载令牌。

当我刷新页面时出现问题。如果我检查用户登录状态,ODIC 库会告诉我用户已登录,但令牌是None。看这段代码:

@pdo_route.route('/edit_pdo', methods=['GET', 'POST'])
@oidc.require_login
def edit_pdo():
  if oidc.oidc.user_loggedin:
     oidc.get_access_token() # is None
Run Code Online (Sandbox Code Playgroud)

回报却是。oidc.oidc.user_loggedinTrueoidc.get_access_token()None

这是我的 OIDC 配置:

{
'SECRET_KEY': 'secret',
'TESTING': True,
'DEBUG': True,
'OIDC_ID_TOKEN_COOKIE_SECURE': False,
'OIDC_REQUIRE_VERIFIED_EMAIL': False,
'OIDC_USER_INFO_ENABLED': True,
'OIDC_OPENID_REALM': 'flask-demo',
'OIDC_SCOPES': ['openid', 'email', 'profile', 'name'],
'OIDC_INTROSPECTION_AUTH_METHOD': 'client_secret_post',
'OIDC_CLIENT_SECRETS': app.config.get("OIDC_CLIENT_SECRETS_PATH")
}
Run Code Online (Sandbox Code Playgroud)

python flask openid-connect

5
推荐指数
1
解决办法
997
查看次数

WTForms 2.3.0 重大更改 - ImportError:无法从“wtforms.widgets”导入名称“HTMLString”

WTForms已更新为2.3.0具有重大更改。我尝试过调整其他要求,例如werkzeug.1.0.0但还没有成功。有人找到解决办法了吗?

这是堆栈跟踪:

Traceback (most recent call last):
   File "/usr/local/bin/celery", line 8, in <module>
     sys.exit(main())
   File "/usr/local/lib/python3.8/site-packages/celery/__main__.py", line 16, in main
     _main()
   File "/usr/local/lib/python3.8/site-packages/celery/bin/celery.py", line 322, in main
     cmd.execute_from_commandline(argv)
   File "/usr/local/lib/python3.8/site-packages/celery/bin/celery.py", line 495, in execute_from_commandline
     super(CeleryCommand, self).execute_from_commandline(argv)))
   File "/usr/local/lib/python3.8/site-packages/celery/bin/base.py", line 289, in execute_from_commandline
     argv = self.setup_app_from_commandline(argv)
   File "/usr/local/lib/python3.8/site-packages/celery/bin/base.py", line 509, in setup_app_from_commandline
     self.app = self.find_app(app)
   File "/usr/local/lib/python3.8/site-packages/celery/bin/base.py", line 531, in find_app
     return find_app(app, symbol_by_name=self.symbol_by_name)
   File "/usr/local/lib/python3.8/site-packages/celery/app/utils.py", line 373, in find_app
     sym = symbol_by_name(app, imp=imp)
   File "/usr/local/lib/python3.8/site-packages/celery/bin/base.py", …
Run Code Online (Sandbox Code Playgroud)

python flask wtforms flask-wtforms

5
推荐指数
1
解决办法
3564
查看次数

如何使用 pymupdf 减小修改后的 PDF 的大小

我正在通过编辑某些单词并在 pymupdf 中的编辑区域顶部添加不同的单词来编辑 pdf。

该代码运行成功,但它生成了一个非常大的单页 pdf (9MB)。我认为这是因为绘制了许多形状和修订,但我似乎无法重构。

我从这篇文章中知道,我不应该page.apply_redactions()多次应用,但如果我不这样做,文本就无法正确显示在经过编辑的正方形顶部,或者它会引发ValueError: fill rect must be finite and not empty.

任何重构较小输出 pdf 的帮助将不胜感激。

    doc = fitz.open(self.path) 
    # get pdf background colour
    col = fitz.utils.getColor("py_color")
    # iterating through pages 
    for page in doc: 

        page.wrap_contents()
        # geting the rect boxes which consists the matching regex 
        sensitive = self.get_sensitive_data(page.getText("text") 
                                            .split('\n')) 
        for data in sensitive: 
            areas = page.searchFor(data) 
            for area in areas:
                text_page = page.get_textpage(clip=area)
                text_page = text_page.extractDICT(area)
                # text_page = area
                max_length …
Run Code Online (Sandbox Code Playgroud)

python pymupdf

3
推荐指数
1
解决办法
4041
查看次数