2017-10-13 8 views
1

私はPythonやJavaで効率的な計算タスクを書いていますが、Sidekiqは外部のコンシューマーをサポートしていないようです。Rubyを使わずにSidekiqを消耗しますか?

私は、システムコールを使用してタスクを起動するための回避策があります承知している:

class MyWorker 
    include Sidekiq::Worker 

    def perform(*args) 
    `python script.py -c args` # and watch out using `ps` 
    end 
end 

はSidekiqコンシューマを書き換えてこれを行うには良い方法はありますか?

+0

How do I push a job to Sidekiq without Ruby?を参照してください。 – knh190

+0

この回答をチェックしてください。このようなことはsidekiqの中では絶対にしないでください。しかしおそらくあなたを助けることができます。https://stackoverflow.com/questions/11948192/commandline-statement-inside-rails-controller – rudydydy

答えて

0

サイドキックは外部の消費者をサポートしていないようです。

当然。これは、主にであり、スマートタスク/ジョブコンシューマであることです。しかし、PythonやJavaで別のコンシューマーを書くのを止めるものはありません。 「ネイティブ」サイドキックの消費者とうまく対戦していることを確認してください。

このような特殊なジョブをPythonネイティブのバックグラウンドワーカー(RQなど)にプッシュするのは簡単です。

0

Sidekiqは、作業者と通信するためにRedisを使用します。私は良い文書を見つけることができませんでしたので、リバースエンジニアリングを少し行う必要があるかもしれませんが、Redisキューを使用することで、Sidekiqなしでワーカーを実装できます。

は、あなたが任意の言語を使用してJSONを作成することにより、タスクを送信することができますが、私は `Sidekiq :: Worker`なしsidekiqから消費する方法を確認していない@SergioTulentsevよくある質問

関連する問題