現在キュー内のジョブを処理するためにNode.js Kueを使用しようとしていますが、私は正しく実行していないと思います。Redis接続を待つ方法は?
私は現在作業していますが、私は2つの異なるサービス(この場合、私はDocker Composeで実行しています)を持っています。ここでの問題は、処理モジュールにあります。次のように
私はそれをコード化されました:私たちはノードでこれを実行すると
var kue = require('kue');
var config = require('./config');
var queue = kue.createQueue({
prefix: config.redis.queuePrefix,
redis: {
port: config.redis.port,
host: config.redis.host
}
});
queue.process('jobType', function (job, done) {
// do processing here...
});
、それが処理を行うためにキューに置かれる事を待ってそこに座っています。
それはRedisのはこのモジュールを実行する前に利用可能とすることが必要である:
は、しかし、二つの問題があります。既に利用可能なRedisなしでこれを実行すると、ホストにアクセスできないためプロセスが終了するため、Redisがクラッシュします。
Redisが突然使用できなくなった場合、処理モジュールは接続を確立できずプロセスが強制終了されるため、クラッシュします。
これらの問題を回避するにはどうすればよいですか?
私はRedisのコードをどうにかして "待つ"べきだと思っていますが、どうやってこれを行うのか分かりません。
この場合、どうすればいいですか?