2010-12-28 16 views
12

dicen que tengo mi aplicación de rieles en github y estoy implementando el repositorio github en heroku.cómo ejecutar un archivo simple en heroku

Tengo una situación en la que tengo un archivo de texto simple con un montón de palabras (está en mi repositorio github). Quiero insertar estas palabras (usando un programa simple de ruby) en una base de datos. En lugar de usar el comando tap, ¿es posible en heroku ejecutar mi simple programa ruby ​​e insertar las palabras en la base de datos ... o tal vez solo mostrarlas en la terminal?

tal vez sea confuso pero, básicamente, quiero saber cómo ejecutar un simple script de ruby ​​desde la línea de comando de heroku?

Respuesta

6

Deja tus ruby ​​script en un directorio bin y git push a Heroku. Ahora puede ejecutar un comando de shell en la consola heroku.

Por ejemplo, si el script Ruby es bin/foo.rb, puede ejecutar el siguiente comando en la consola de Heroku:

`ruby bin/foo.rb` 

Nota el uso de acentos abiertos.

0
cd /path/to/my/local/repository 
heroku console 
require 'my_word_importing_script' 

En caso de no tenerlo, pruebe una sencilla aplicación de Sinatra como importer.rb?

require 'sinatra' 
require 'sequel' 

configure do 
    // connect to the database with sequel 
end 

get '/import/a-long-unguessable-url-fdsjklgfuiwfnjfkdsklfds' do 
    words = YAML.load(File.join(File.dirname(__FILE__), "my_list_of_words.yaml")) 
    words.each do |word| 
    // Your logic for inserting into the database with sequel 
    end 
end 

Golpear http://example.com/import/a-long-unguessable-url-fdsjklgfuiwfnjfkdsklfds en su navegador iniciaría la importación. Útil para una tarea cron externa.

También se necesitaría un archivo config.ru en el repositorio:

require 'importer' 
run Sinatra::Application 
+0

La consola de comando heroku ha sido eliminada. – Stanislasdrg

1

Si desea ejecutar archivos locales de su elección de Ruby en Heroku, echa un vistazo a la entrada de blog en

http://www.22ideastreet.com/debug/run-local-scripts-on-heroku

Hay algunas cosas a tener en cuenta (tiempos de largo plazo, etc.) pero podría ser útil si tiene un archivo que no ha registrado y que desea probar o ejecutar en una instancia de Heroku.

+0

El enlace está muerto. Por favor cite las partes relevantes. – schmijos

+0

¡Enlace fijo, gracias! –

14

de cedro, puede ejecutar bash:

heroku run bash 
Cuestiones relacionadas