我有一個使用Resque作爲隊列的Rails應用程序。該Resque工人階級是「JobDo」,並在應用程序/工人/ job_do.rb帶有環境變量的bash腳本中的JRuby語句
我有一個腳本(jobdo.sh),這將使作業到隊列中:
jruby -e 'load "/home/abc/myapp/app/workers/job_do.rb"; Resque.enqueue(JobDo, Time.now.utc)' >> /home/abc/logs/resque.log 2>&1
但是.. 。我希望能夠在不使用相同日誌文件,用戶或Rails應用程序根的rails環境中運行。我覺得那樣做這樣的事情:
export $USER_HOME=/home/abc
export $LOGFILE=$USER_HOME/logs/resque.log
export $SERVER_HOME=/home/abc/myapp
jruby -e 'load "$SERVER_HOME/app/workers/job_do.rb"; Resque.enqueue(JobDo,Time.now.utc)' >> $LOGFILE 2>&1
這將讓任何用戶編輯$ USER_HOME和$ SERVER_HOME並在他們的環境中運行的代碼。
但是,這不起作用,因爲我無法弄清楚如何旋轉單引號和雙引號來使用環境變量。我該怎麼做呢?