ジョブ キューに Resque を使用する Rails アプリケーションがあります。Resque ワーカー クラスは「JobDo」で、app/workers/job_do.rb にあります。
ジョブをキューに入れるスクリプト (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
ただし...同じログファイル、ユーザー、またはレールアプリケーションルートを使用しないレール環境でこれを実行できるようにしたいと考えています。私はこのようなことをしているのを見ます:
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 を編集し、その環境でコードを実行できるようになります。
ただし、一重引用符と二重引用符をいじって環境変数を使用する方法がわからないため、これは機能しません。どうすればいいですか?