Mam aplikacje Rails 3, które używają różnych baz danych w zależności od poddomeny. Robię to za pomocą "ustalenia połączenia" w ApplicationController.Jak wymusić delayed_job na użycie określonego połączenia db?
Teraz próbuję użyć klejnotu delayed_job, aby wykonać pewne przetwarzanie w tle, jednak korzysta z połączenia z bazą danych, które jest aktywne w tym momencie. Łączy się z bazą danych subdomeny.
Chciałbym zmusić go do korzystania z "wspólnej" bazy danych. Zrobiłem to dla niektórych modeli nazywających "ustanowienie połączenia" w modelu takim jak ten:
class Customer < ActiveRecord::Base
establish_connection ActiveRecord::Base.configurations["#{Rails.env}"]
...
end
Każdy pomysł, jak mogę to zrobić?
Występuje dokładnie ten sam problem. Chciałbym odpowiedzi. BTW, JAG, czego używasz do wykonywania wielotynowych baz poddomeny? Pracujemy nad klejnotem i chcielibyśmy trochę dodać. –
Zrobiłem własne, ponieważ nie znalazłem niczego odpowiedniego dla moich potrzeb. Zasadniczo mam "setup_subdomain" before_filter, który przełącza się do odpowiedniego DB. Chciałbym sprawdzić twój klejnot, dowolny link? – JAG
Prawdopodobnie zmodyfikuj klej lateed_job, jeśli jest on na Githubie, to jedyny sposób i dołącz go za pomocą: git => w twoim gemfile. –