No estoy seguro de haber entendido su pregunta. ¿Está pidiendo ejecutar la tarea de rastrear de forma remota o cómo importar imágenes?
En el último caso hay una respuesta.
En primer lugar se necesita algún modelo para mantener las imágenes y tal vez algunos otros datos, algo como esto:
class Picture < ActiveRecord::Base
has_attached_file :image, :styles => {
:thumb => "100x100>",
:big => "500x500>"
}
end
Puede crear tareas rastrillo simple en su carpeta lib/tareas (que debe nombrar el archivo. extensión rastrillo)
namespace :import do
desc "import all images from SOURCE_DIR folder"
task :images => :environment do
# get all images from given folder
Dir.glob(File.join(ENV["SOURCE_DIR"], "*")) do |file_path|
# create new model for every picture found and save it to db
open(file_path) do |f|
pict = Picture.new(:name => File.basename(file_path),
:image => f)
# a side affect of saving is that paperclip transformation will
# happen
pict.save!
end
# Move processed image somewhere else or just remove it. It is
# necessary as there is a risk of "double import"
#FileUtils.mv(file_path, "....")
#FileUtils.rm(file_path)
end
end
end
a continuación, puede llamar manualmente rastrillo tarea desde la consola que proporciona parámetros SOURCE_DIR que será la carpeta en el servidor (que puede ser real o carpeta de montaje remoto)
rake import:images SOURCE_DIR=~/my_images/to/be/imported
Si planea ejecutar esto automáticamente, le recomiendo que vaya a la gema de Resque Scheduler.
Actualización: Para simplificar he omitido deliberadamente la gestión de excepciones
también necesitaba esto para convertir desde un sistema antiguo, donde los archivos son estáticos en el disco a un entorno de Rails. Básicamente solo abra el archivo y asígnelo al modelo de destino atributo 'has_attached_file' y guárdelo. – Chloe