2013-05-17 4 views
0

Я под rvm.
У меня есть Бог.
Он начинает реск.
Задача Resque открывает локальную системную программу IO.popen, отправляет ей текст, возвращает текст из потока, анализирует его немного, закрывает IO.Resque with God использует IO.popen

Итак: когда я запускаю resque как rake resque:work - все в порядке, все работает.
Когда я начинаю пересказывать от бога, бегущего от пользователя, он работает.

Теперь я создал бога, работающий из init.d, сделанный rvm-оберткой, запустил его как sudo ... Так что теперь связь с IO как-то сломана. Resque не удался веб-отчет говорит

Unexpected response format 
/home/dakemen/.rvm/gems/ruby-2.0.0-p0/bundler/gems/go_gtp-5cd5a4de65cb/lib/go/gtp.rb:451:in `send_command' 

У меня есть некоторые другие Resque рабочих мест, которые ничего не делают с IO. Они работают.

Жемчужиной я использую, чтобы открыть IO для местного применения является

https://github.com/JEG2/go_gtp/blob/master/lib/go/gtp.rb

=========

Эксперимент:

Таким образом, все спасательные рабочие началось как sudo. ОК. И рабочий ссылается на gnugo.

user$ gnugo 
GNU Go 3.8 and so on works great 

user$ sudo gnugo 
sudo: gnugo: command not found (WHY?) 

user$ sudo echo $PATH 
.......... /usr/games:/usr/local/games 

ответ

0

Ok.
Я просто не полагаюсь на PATH, открывая IO, но даю полный путь к сервису, выполняемому как поток ввода-вывода.