2012-06-15 9 views

Respuesta

7

El trabajador tiene que establecer una conexión con la base de datos de forma explícita, ya que no se está ejecutando dentro de su aplicación por lo que necesita para pasar la información de conexión a su trabajador. Usted puede hacer esto en la carga útil del trabajador, así:

client = IronWorkerNG::Client.new 
task = client.tasks.create('MyWorker', 'database' => Rails.configuration.database_configuration[Rails.env]) 

A continuación, dentro de su trabajador:

ActiveRecord::Base.establish_connection(params['database']) 
+0

¿Le ocurrirá saber cómo podría probar tal trabajador (uno que se conecta a una base de datos) en un entorno de desarrollo? – Gautam

+0

Puede probar el comando 'iron_worker run my_worker' desde la línea de comandos para probarlo, pero generalmente recomiendo usar el servicio real, ya que está seguro de que se trata del mismo entorno. http://12factor.net/dev-prod-parity –

2

me prepararon rápidamente un blog post en esto. ¡Espero que ayude!

En pocas palabras, sin embargo, el almacenamiento de sus configuraciones de bases de datos de las variables de entorno hace que sea fácil.

+0

¡Definitivamente! ¿Qué parte no tiene sentido? Eso me ayudará a responder de manera más efectiva. En última instancia, desea pasar las credenciales de su base de datos a Iron Worker, lo que le permitirá a Iron Worker conectarse a su base de datos utilizando las credenciales que aprueba. – Chiedo

+0

¡Gracias por tu aportación! ... pero estoy seguro de que las personas que entienden iron.io y la pregunta encontrarán útil la publicación. Si alguien que está trabajando rails y iron.io no lo encuentra útil y me lo permite, esa es una historia diferente – Chiedo

Cuestiones relacionadas