Django-crontab 在 ec2 ubuntu 虚拟环境中不工作
Django-crontab is not working on in ec2 ubuntu virtual environment
我在 mac m1 bigsur
中使用 django-crontab 库
# settings.py
INSTALLED_APPS = [
'django_crontab'
]
CRONJOBS = [
('*/5 * * * *', 'diagnoses.croncode.ChangeRegisterView')
]
# croncode.py
def ChangeRegisterView():
我用了python manage.py crontab add
它是在虚拟环境中安装的。
并且它在本地环境中运行良好。
但是它在 ec2 上不工作!!
aws ec2安装使用虚拟环境anaconda python=3.8.11版本
像这样
Traceback (most recent call last):
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
worker.init_process()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
self.load_wsgi()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
self.wsgi = self.app.wsgi()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
return self.load_wsgiapp()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
return util.import_app(self.app_uri)
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
mod = importlib.import_module(module)
File "/home/ubuntu/miniconda3/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 855, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/ubuntu/safe-back/safe-back/safehomes/safehomes/wsgi.py", line 16, in <module>
application = get_wsgi_application()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
django.setup(set_prefix=False)
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/django/apps/registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/django/apps/config.py", line 224, in create
import_module(entry)
File "/home/ubuntu/miniconda3/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'django_crontab'
我想要两件事。
- 我想在 ec2 Ubuntu 环境中做一个 cronlog 路径。
- 我想在 ec2 中打开 django-crontab。
兄弟们求助!!
以下是使用 django-crontab 在 django 中添加 cronjob 的步骤(Mac、Linux)
安装包
pip3 安装 django-crontab
如果出现问题则执行卸载命令或通过
强制安装
python3 -m pip install django-crontab
在你的INSTALLED_APPS
中添加'django_crontab'
在名为
的应用中创建新的 crons.py 文件
在crons.py中添加你的cronjob方法,例如
在您的 settings.py 文件中添加以下配置
CRON 作业设置
CRONJOBS = [
('*/1 * * * *', 'your_app_name.crons.your_cronjob_method'),
]
我在 mac m1 bigsur
中使用 django-crontab 库# settings.py
INSTALLED_APPS = [
'django_crontab'
]
CRONJOBS = [
('*/5 * * * *', 'diagnoses.croncode.ChangeRegisterView')
]
# croncode.py
def ChangeRegisterView():
我用了python manage.py crontab add
它是在虚拟环境中安装的。 并且它在本地环境中运行良好。
但是它在 ec2 上不工作!! aws ec2安装使用虚拟环境anaconda python=3.8.11版本
像这样
Traceback (most recent call last):
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
worker.init_process()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
self.load_wsgi()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
self.wsgi = self.app.wsgi()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
return self.load_wsgiapp()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
return util.import_app(self.app_uri)
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
mod = importlib.import_module(module)
File "/home/ubuntu/miniconda3/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 855, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/ubuntu/safe-back/safe-back/safehomes/safehomes/wsgi.py", line 16, in <module>
application = get_wsgi_application()
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
django.setup(set_prefix=False)
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/django/apps/registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "/home/ubuntu/miniconda3/lib/python3.9/site-packages/django/apps/config.py", line 224, in create
import_module(entry)
File "/home/ubuntu/miniconda3/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'django_crontab'
我想要两件事。
- 我想在 ec2 Ubuntu 环境中做一个 cronlog 路径。
- 我想在 ec2 中打开 django-crontab。
兄弟们求助!!
以下是使用 django-crontab 在 django 中添加 cronjob 的步骤(Mac、Linux)
安装包
pip3 安装 django-crontab
如果出现问题则执行卸载命令或通过
强制安装python3 -m pip install django-crontab
在你的INSTALLED_APPS
中添加'django_crontab'在名为
的应用中创建新的 crons.py 文件在crons.py中添加你的cronjob方法,例如
在您的 settings.py 文件中添加以下配置
CRON 作业设置
CRONJOBS = [ ('*/1 * * * *', 'your_app_name.crons.your_cronjob_method'), ]