【问题标题】:Django-crontab is not working on in ec2 ubuntu virtual environmentDjango-crontab 在 ec2 ubuntu 虚拟环境中不起作用
【发布时间】:2022-01-18 14:40:52
【问题描述】:

我在 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'

我想要两件事。

  1. 我想在 ec2 Ubuntu 环境下做一个 cronlog 路径。
  2. 我想在ec2中转django-crontab。

帮助兄弟!!

【问题讨论】:

    标签: python django amazon-ec2 cron


    【解决方案1】:

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

    1. 安装包

      pip3 安装 django-crontab

    如果出现问题,则执行卸载命令或强制安装

    python3 -m pip install django-crontab
    
    1. 在您的 INSTALLED_APPS

      中添加“django_crontab”
    2. 在您的应用中创建新的 crons.py 文件,命名为

    3. 在 crons.py 中添加你的 cronjob 方法,例如

    4. 在你的 settings.py 文件中添加以下配置

      CRON 作业设置

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

    【讨论】:

    • 我发现了一个问题。 ec2 cron 正在查看基础,而不是我激活的 conda。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 2016-11-11
    相关资源
    最近更新 更多