У меня есть скрипт Ruby на виртуальной машине Linode, который я хотел бы запускать каждую минуту.
Когда я запускаю скрипт ruby вручную из командной строки, он работает отлично. Но когда cron запускает файл, он выдает странную ошибку:
undefined method `closed?' for nil:NilClass
["/ usr / lib / ruby / 1.8 / net / http.rb: 1060: в request'", "/var/lib/gems/1.8/gems/httparty-0.7.3/lib/httparty/request.rb:69:in
выполнить '", "/var/lib/gems/1.8/gems/httparty-0.7.3/lib/ httparty.rb: 394: в perform_request'", "/var/lib/gems/1.8/gems/httparty-0.7.3/lib/httparty.rb:346:in
get '"," /var/lib/gems/1.8/gems/httparty-0.7.3/lib/httparty.rb:426
Я исследовал эту проблему, и кажется, что она как-то связана с урезанной средой, в которой cron запускает скрипт.
Нужно ли мне исходить из среды Ruby в файле crontab? Если да, что именно мне нужно?
Вот мой env:
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.5
- RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]
- INSTALLATION DIRECTORY: /var/lib/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /var/lib/gems/1.8/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /var/lib/gems/1.8
- /root/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org/
which ruby: /usr/bin/ruby
Спасибо за помощь!