2016-02-14 2 views
1

Я пытаюсь запустить команду через прокси. Когда я запускаю эту команду в оболочке работаетСупервизор, не обнаруживающий файл

http_proxy=http://username:[email protected]:29800 /home/www/program -env prod

Но когда я это в мой научный руководитель конфиг он говорит мне, что не может найти этот файл

[program:goprogram] 
command = http_proxy=http://username:[email protected]:29800 home/www/program -env prod 
directory = /home/www/program 
enviroment=PATH='/home/www/env/bin:/usr/bin' 
user = user 
autorestart = true 

Теперь, я полагаю, он имеет делать с http_proxy или синтаксисом, но не уверен, как его исправить.

ответ

1

Поскольку вы пытаетесь создать переменную среды в самой команде, вы можете попробовать другой способ вызвать указанную команду:

command = /bin/sh -c 'http_proxy=http://username:[email protected]:29800 home/www/program -env prod' 

Таким образом:

  • вы не необходимо добавить эту переменную среды в раздел среды (или учетные данные будут видны всем средам супервизорного процесса и дочернего процесса).
  • вы установили http_proxy только для команды, которая должна быть выполнена.
1

Вам необходимо установить переменную http_proxy. Либо путь @VonC описал его или:

[program:goprogram] 
command = home/www/program -env prod 
directory = /home/www/program 
enviroment= 
    PATH='/home/www/env/bin:/usr/bin' 
    http_proxy=http://username:[email protected]:29800 
user = user 
autorestart = true 

Более подробную информацию можно найти в this SO question.

+0

Я не хотел идти таким путем, потому что он выдавал полномочия прокси-сервера для каждого процесса надзорных детей. Не очень хорошо. – VonC

Смежные вопросы