首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-crontab不在ec2 ubuntu虚拟环境中工作。

Django-crontab不在ec2 ubuntu虚拟环境中工作。
EN

Stack Overflow用户
提问于 2022-01-18 01:05:44
回答 1查看 311关注 0票数 0

我在mac m1 bigsur中使用django-crontab库。

代码语言:javascript
复制
# settings.py
INSTALLED_APPS = [
'django_crontab'
]

CRONJOBS = [
    ('*/5 * * * *', 'diagnoses.croncode.ChangeRegisterView')
]

# croncode.py

def ChangeRegisterView():

我用了python manage.py crontab add

它安装在虚拟环境中。而且它在当地环境中运行得很好。

但是它在ec2不起作用!虚拟环境anaconda python=3.8.11版本由aws ec2安装和使用。

像这样

代码语言:javascript
复制
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'

我想做两件事。

  1. 我想在ec2 Ubuntu环境中执行cronlog路径。
  2. 我想在ec2.

中转。

救救兄弟们!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-18 06:40:52

下面是使用django-crontab (Mac,Linux)在django中添加cronjob的步骤

  1. 安装软件包

django-crontab安装pip3

如果这给出并发出问题,那么执行卸载命令或强制安装

代码语言:javascript
复制
python3 -m pip install django-crontab

INSTALLED_APPS中添加

  1. 'django_crontab‘

  1. 在您的应用程序

中创建新的crons.py文件

  1. 在crons.py中添加您的cronjob方法,例如

  1. 在settings.py文件中添加以下配置

CRON作业设置

CRONJOBS = ('*/1 ** *','your_app_name.crons.your_cronjob_method'),

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70749213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档