gearmanのxargsメソッドに引数を渡すのを見たことがありますが、STDINをgearmanワーカーへの入力として使用するスクリプトをどのように取得しますか?
ここでのユースケースは、複数のIDがあり、これを単にこのようにトリガーしたいということです。
gearman -f job 123456
gearman -f job 123457
gearman -f job 123458
gearman -f job 123459
gearman -f job 123460
これができれば、ID番号のリストを繰り返すのはとても簡単です。
答え1
スクリプトがすでに$ 1を入力として使用していて、デフォルトでstdinに設定したい場合($ 1が設定されていない場合)、この方法で変数を設定できます。
# Set id to first argument or stdin if that is blank
id=${1:-$(cat -)}
その後、起動すると、オペレータは単に実行します。
gearman -w -f job script.sh
次に、var が 123456 に設定されたワーカーにジョブを送信するには、次のようにします。
gearman -f job 123456