【问题标题】:django-background-tasks management command not running on AWS elasticbeanstalkdjango-background-tasks 管理命令未在 AWS elasticbeanstalk 上运行
【发布时间】:2021-03-23 17:53:58
【问题描述】:

问候各位程序员, 我目前正在使用 django-background-tasks(https://django-background-tasks.readthedocs.io/en/latest/) 在 AWS elasticbeanstalk 上运行一些后台任务。我最初在主 .config 容器命令中使用此命令,但在部署中出现超时错误,因为此管理命令永远不会完成(它会继续运行)。 现在,我正在尝试使用建议的方法在 elasticbeanstalk(https://aws.amazon.com/premiumsupport/knowledge-center/cron-job-elastic-beanstalk/) 上运行 cron 作业。请看一下我的代码,它没有运行命令。请问有什么问题?我只需要命令 python manage.py process_tasks 继续运行。这在我的本地机器上正常工作,因为我可以轻松打开另一个终端来启动 python manage.py process_tasks 命令

    files:
    "/etc/cron.d/process_tasks_cron":
        mode: "000644"
        owner: root
        group: root
        content: |
            * * * * * root /usr/local/bin/99_process_tasks.sh

    "/usr/local/bin/99_process_tasks.sh":
        mode: "000755"
        owner: root
        group: root
        content: |
            #!/bin/bash

            date > /tmp/date
            # Your actual script content
            source /var/app/venv/*/bin/activate
            python manage.py process_tasks
            

commands:
    remove_old_cron:
        command: "rm -f /etc/cron.d/*.bak"

【问题讨论】:

    标签: python django amazon-web-services cron amazon-elastic-beanstalk


    【解决方案1】:

    这是代码的工作版本。谢谢,希望它可以帮助那里的人。

    files:
            "/etc/cron.d/cron_process":
                mode: "000644"
                owner: root
                group: root
                content: |
                    * * * * * root /usr/local/bin/task_process.sh
        
            "/usr/local/bin/task_process.sh":
                mode: "000755"
                owner: root
                group: root
                content: |
                    #!/bin/bash
                    exec &>> /tmp/cron_capture_log.txt
                    date > /tmp/date
                    source /var/app/venv/staging-LQM1lest/bin/activate
                    cd /var/app/current
                    python manage.py process_tasks
                   
        
        commands:
            remove_old_cron:
                command: "rm -f /etc/cron.d/cron_process.bak"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      • 2019-06-17
      • 2015-08-29
      • 2022-08-10
      • 1970-01-01
      相关资源
      最近更新 更多