在cron中运行django manage.py命令
我已经编写了一些从cron运行的管理命令。我正在使用在cron中运行django manage.py命令,django,django-manage.py,pipenv,django-management-command,Django,Django Manage.py,Pipenv,Django Management Command,我已经编写了一些从cron运行的管理命令。我正在使用pipenv虚拟环境 从终点站直接运行非常有效 cd <project_path> pipenv run python manage.py <my_command> 我也试着听从命令 cd /home/project_path && python manage.py <my_command> 将文件run.py与settings.py文件放在根文件夹中(注意!您的项目结构可能不同): 然
pipenv
虚拟环境
从终点站直接运行非常有效
cd <project_path> pipenv run python manage.py <my_command>
我也试着听从命令
cd /home/project_path && python manage.py <my_command>
将文件run.py与settings.py文件放在根文件夹中(注意!您的项目结构可能不同): 然后转到应用程序文件夹,使用test()函数生成cron.py文件
def test():
print ('Hello world')
最后将下一个命令输入控制台:
python run.py您的应用程序\u name.cron“test()”解决我的问题的方法是设置每个模块的绝对路径,如
cd <project_path> && /root/.local/bin/pipenv run /home/user/.local/share/virtualenvs/myproject-IuTkL8w_/bin/python manage.py <my_command>
cd&&/root/.local/bin/pipenv run/home/user/.local/share/virtualenvs/myproject-IuTkL8w\ubin/python manage.py
在manage.py中查看您的python语法,但未对其进行任何更改。这是django提供的默认设置。它提供了ImportError:No module named settings
。代码中是否使用了导入设置
?
File "manage.py", line 14
) from exc
^
SyntaxError: invalid syntax
#!/usr/bin/env python
import os
import sys
import settings
p = os.path.abspath(os.path.join(os.path.dirname(__file__)))
sys.path.insert(0, '%s' % p)
sys.path.insert(0, '%s/apps' % p)
from django.core.wsgi import get_wsgi_application
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from django.conf import settings
application = get_wsgi_application()
module_name = sys.argv[1]
exec('import %s' % module_name)
exec('%s.%s' % (module_name, ' '.join(sys.argv[2:])))
def test():
print ('Hello world')
cd <project_path> && /root/.local/bin/pipenv run /home/user/.local/share/virtualenvs/myproject-IuTkL8w_/bin/python manage.py <my_command>