我在 PythonAnywhere 上构建并部署了我的 Django 网站。
我的里面有一个脚本
app/management/commands/my_command.py
我打算一直跑步。我尝试使用 PythonAnywhere Always On Task 功能来实现此目的,但状态从未从“开始”更改为“正在运行”。
脚本本身没有问题,因为当我运行时:
bash
(venv) $ source /home/myusername/.virtualenvs/myenv/bin/activate && cd /home/myusername/myproject && python manage.py my_command
脚本成功运行,然后当我转到“Always On Task”控制台时,我看到它成功运行并记录在该控制台中。
但问题是我不想总是在 Bash 控制台中手动运行它。
我已按照 PythonAnywhere 帮助页面上的说明进行操作,并将任务命令更改为我可以使用的所有选项。我试过:
bash
source virtualenvwrapper.sh && workon myenv && python /home/myusername/myproject/manage.py my_command
但它永远不会变成“跑步”。
我也尝试过:
bash
/home/myusername/.virtualenvs/myenv/bin/python /home/myusername/myproject/manage.py my_command
再次强调,它永远不会变成“跑步”。
但是,如果我在 Bash 控制台中运行脚本,Always On 任务会打印出我的成功消息!
我做错了什么?
如果任务卡在“正在启动”状态,很可能一启动就崩溃了。找出原因的最简单方法是查看任务日志 - 您可以从“操作”列中的第一个按钮访问该日志。