Передача объекта в качестве аргумента в Resque-Worker - PullRequest
6 голосов
/ 25 января 2012

Есть ли способ передать объект в качестве значения аргумента в Resque-worker.

Я хочу сделать что-то вроде Resque.enqueue(SomeWorker, obj) вместо Resque.enqueue(SomeWorker, id) мой объект другого типа, у которого нет идентификатора.

Ценю любую помощь.

1 Ответ

12 голосов
/ 25 января 2012

как лучший метод, вы никогда не должны передавать реальный объект работнику.

Идея состоит в том, что вы передаете минимум информации своему работнику, в идеале - идентификатор, чтобы работник мог получить остальную информацию сам.

, поскольку данные сохраняются в redis, вам действительно нужно каким-то образом упорядочить ваш объект при постановке его в очередь, а затем разархивировать, когда рабочий получает данные.

если ваш объект просто содержит некоторые данные, вам следует подумать о том, чтобы передать их как хеш, поскольку они легко сохраняются в Redis.

...