pixielabs / letsencrypt-rails-heroku

Automatic LetsEncrypt SSL certificates in your Rails app on Heroku.
MIT License
220 stars 33 forks source link

Issue with scheduler in Sinatra #56

Closed cbetta closed 7 years ago

cbetta commented 7 years ago

So far none of my certificates seem to have autorenewed. I ran a test today and spotted this output from the scheduler.

2017-04-13T09:00:51.841526+00:00 heroku[scheduler.2736]: Starting process with command `if [ "$(date +%d)" = 13 ]; then rake letsencrypt:renew; fi`
2017-04-13T09:00:52.442842+00:00 heroku[scheduler.2736]: State changed from starting to up
2017-04-13T09:00:54.184420+00:00 app[scheduler.2736]: rake aborted!
2017-04-13T09:00:54.184444+00:00 app[scheduler.2736]: LoadError: cannot load such file -- letsencrypt-rails-heroku
2017-04-13T09:00:54.184602+00:00 app[scheduler.2736]: /app/Rakefile:6:in `<top (required)>'
2017-04-13T09:00:54.184604+00:00 app[scheduler.2736]: /app/vendor/bundle/ruby/2.3.0/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
2017-04-13T09:00:54.184621+00:00 app[scheduler.2736]: (See full trace by running task with --trace)
2017-04-13T09:00:54.283302+00:00 heroku[scheduler.2736]: State changed from up to complete
2017-04-13T09:00:54.271014+00:00 heroku[scheduler.2736]: Process exited with status 

Interesting enough running heroku run rake letsencrypt:renew does work, but heroku automatically prepends that with a bundle exec. I am now running a new test tomorrow with the code for the scheduler updated to:

if [ "$(date +%d)" = 14 ]; then bundle exec rake letsencrypt:renew; fi

I am suspecting that this is a difference between Sinatra and Rails, seeing as Rails autoloads all gem dependencies, and Sinatra does not.