代码之家  ›  专栏  ›  技术社区  ›  Andrés Quiroga

无法在部署服务器上启用huey服务

  •  3
  • Andrés Quiroga  · 技术社区  · 8 年前

    我在Django项目部署中工作。我集成了huey来运行异步任务。本地运行都很好,但现在,在部署步骤中,我遇到了关于huey服务激活的问题。我真的找不到任何相关信息,因为我认为解决方案应该很简单,但我真的找不到:(。

    我正在使用nginx和gunicorn服务。应用程序在部署服务器上运行良好,但huey任务未运行。我创造了一个休伊。服务文件位于 /etc/systemd/system/ ,内容如下:

    [Unit]
    Description=Huey Service
    After=redis.service
    
    [Service]
    User=deploy
    Group=www-data
    WorkingDirectory=/home/deploy/projects/myproject/
    ExecStart=/usr/bin/python3.6 manage.py run_huey
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    但我发现了以下错误:

    Nov 26 21:22:15 ip-172-31-11-39 python3.6[22543]:   File "manage.py", line 17, 
    in <module>
    Nov 26 21:22:15 ip-172-31-11-39 python3.6[22543]:  "Couldn't import Django. 
    Are you sure it's installe
    Nov 26 21:22:15 ip-172-31-11-39 python3.6[22543]: ImportError: Couldn't import 
    Django. Are you sure it's
    Nov 26 21:22:15 ip-172-31-11-39 systemd[1]: huey.service: Main process exited, 
    code=exited, stat
    Nov 26 21:22:15 ip-172-31-11-39 systemd[1]: huey.service: Unit entered failed state.
    Nov 26 21:22:15 ip-172-31-11-39 systemd[1]: huey.service: Failed with result 'exit-code'.
    Nov 26 21:22:15 ip-172-31-11-39 systemd[1]: huey.service: Service hold-off time over, scheduling
    Nov 26 21:22:15 ip-172-31-11-39 systemd[1]: Stopped Huey Service.
    Nov 26 21:22:15 ip-172-31-11-39 systemd[1]: huey.service: Start request repeated too quickly.
    Nov 26 21:22:15 ip-172-31-11-39 systemd[1]: Failed to start Huey Service.
    

    我认为huey服务没有检测到正在运行的virtualenv,因此无法找到django(因为它在virtualenv中),但我之前配置了gunicorn服务来激活它;然后,我不知道怎么说huey服务,一个活动的virtualenv已经在运行并找到了它。

    这是我的gunicorn文件配置:

    [Unit]
    Description=gunicorn daemon
    After=network.target
    
    [Service]
    User=deploy
    Group=www-data
    WorkingDirectory=/home/deploy/projects/myproject
    ExecStart=/home/deploy/projects/my project/project_env/bin/gunicorn --
    access-logfile - --workers 3 --bind 
    unix:/home/deploy/projects/myproject/project.sock app.wsgi:application
    [Install]
    WantedBy=multi-user.target
    

    我应该如何在部署服务器上激活huey服务?非常感谢你。

    2 回复  |  直到 8 年前
        1
  •  4
  •   coleifer    8 年前

    尝试使用ExecStart=/home/deploy/projects/my project/project\u env/bin/python manage。py run_huey

        2
  •  0
  •   Jim B    4 年前

    在我的情况下,我错过了正确的环境,切换到bash解决了这个问题:

    ExecStart=/bin/bash -c 'source /path/to/activate && /path/to/python manage.py run_huey'
    
    推荐文章