6

Resque-workersで引数値としてオブジェクトを渡す方法はありますか?

IDを持たない別の種類のオブジェクトResque.enqueue(SomeWorker, obj)の代わりに、このようなことをしたいと思います。Resque.enqueue(SomeWorker, id)

助けに感謝します。

4

1 に答える 1

12

ベストプラクティスとして、実際のオブジェクトをワーカーに渡さないでください。

アイデアは、最小限の情報、理想的にはIDをワーカーに渡して、ワーカーが残りの情報自体を取得できるようにすることです。

データはredisで永続化されるため、実際には、オブジェクトをキューに入れるときに何らかの方法でオブジェクトをマーシャリングし、ワーカーがデータを取得するときにオブジェクトをマーシャリング解除する必要があります。

オブジェクトがデータを保持しているだけの場合は、これをハッシュとして渡すことを検討する必要があります。これは、redis内で簡単に永続化できるためです。

于 2012-01-25T15:14:54.457 に答える