Очереди Resque создаются основным потоком или рабочими? - PullRequest
1 голос
/ 09 июля 2011

Я немного запутался, потому что я не настроил никаких рабочих (на Heroku), и когда я сделал Resque.enqueue, задание было добавлено в очередь (но не завершено), поэтому я предполагаю, что основной поток сгенерированочередь.

Поскольку я использую Redis To Go, разве это не противоречит цели использования фонового процесса, такого как Resque, поскольку Redis To Go сама является внешней размещенной базой данных, поэтому начальный процесс записи выполняется основнымпоток для добавления задания в очередь может быть непредсказуемым?

1 Ответ

2 голосов
/ 10 июля 2011

Что происходит, когда вы звоните Resque.enqueue, так это то, что Resque подключается к базе данных Redis и добавляет информацию, необходимую для вызова задания позже. Затем рабочий подключается к Redis, выскакивает первое добавленное задание, делает это и повторяется.

Так что да, "основной" поток подключается к Redis. Тот факт, что это внешняя база данных, на самом деле не имеет значения. Я имею в виду, что для людей, использующих дополнения базы данных Mongo, база данных Mongo также размещается извне. Идея состоит в том, что задание, которое вы хотите выполнить, занимает больше времени, чем время, необходимое для его добавления в Redis.

...