Метод класса Rails в работе cron не работает в эластичном бобовом стебле

0

У меня есть метод класса, который мне нужно запускать каждые 15 минут, у меня есть работа cron

0,15,30,45 * * * * /bin/bash -l -c 'cd /var/app/current && sudo /opt/rubies/ruby-2.3.5/bin/bundle exec /opt/rubies/ruby-2.3.5/bin/rails runner -e production '\''Structure.check_parking'\'' >> /var/app/current/log/cron_log 2>&1'

Запуск в моей эластичной среде beanstsalk, но я продолжаю получать ошибку

/opt/rubies/ruby-2.3.5/lib/ruby/gems/2.3.0/gems/mysql2-0.4.4/lib/mysql2/client.rb:87:in 'connect': Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

Я использую RDS-сервер в моей рабочей среде, поэтому странно, что он пытается подключиться к локальному серверу mysql.

Приложение rails подключено к базе данных, и я могу выполнять все обычные функции, но когда я пытаюсь запустить этот метод класса, я получаю эту ошибку.

Я предполагаю, что он не работает в производстве, но я действительно не уверен, мой файл database.yml выглядит так:

development:
    adapter: mysql2
    database: bddatabase
    encoding: utf8
    username: bduser
    password: dbpass
    host: 127.0.0.1
    port: 3306

production:
    adapter: mysql2
    encoding: utf8
    database: <%= ENV['RDS_DB_NAME'] %>
    username: <%= ENV['RDS_USERNAME'] %>
    password: <%= ENV['RDS_PASSWORD'] %>
    host: <%= ENV['RDS_HOSTNAME'] %>
    port: <%= ENV['RDS_PORT'] %>

Попытавшись понять это на какое-то время, любая помощь действительно ценится!

Теги:
amazon-web-services
amazon-rds
elastic-beanstalk

1 ответ

0

Я понял это, оказывается, была проблема с моей задачей cron. Я думаю, как я ссылался на пучок и рельсы так, как я это делал, это не указывало на мое приложение, которое вызывало ошибку. Изменение команды на

0,15,30,45 * * * * /bin/bash -l -c 'cd /var/app/current && bundle exec rails runner -e production 'Structure.check_parking' >> /var/app/current/log/cron_log 2>&1'

Уловка

  • 0
    Подскажите, пожалуйста, как вы вначале поставили задачу cron?
  • 0
    Это специфический вопрос для рельсов? Или просто как настроить работу cron?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню