Не только между работниками DelayedJob и работниками Rails вы не увидите глобальные переменные, но в процессе работы вы также будете иметь дело с несколькими рабочими процессами Rails.Так что даже если бы вы установили глобальную переменную в Rails, какой-то другой работник Rails не увидит ее.
Это сделано специально.Он имеет то преимущество, что вы можете распределить нагрузку по Rails и DelayedJob на несколько компьютеров, поскольку они обрабатывают только запрос без сохранения состояния и смотрят на систему базы данных или другое постоянное хранилище, чтобы добавить состояние, необходимое вашему веб-приложению.
Из того, что я собрал, веб-приложение Java может использовать многопоточную модель, которая позволит вам выполнять фоновые задачи и устанавливать глобальные переменные так, как вы хотите.Но это также ограничивает вас одной машиной;что бы вы сделали, если бы вам пришлось масштабироваться?
Memcached на самом деле звучит как действительно хорошее решение в этом случае.Его легко установить, он требует минимальной настройки и прост в использовании из Rails.