Спасение - Не Обрабатывать Очереди
У меня есть веб-приложение, которое я создал с помощью Sinatra. С недавних пор мне нужно было регулярно собирать данные и хранить их в базе данных. Для этого мне сказали, что я могу использовать Resque
и Clockwork
драгоценные камни в комбайне.
perform
(точный файл, который я использовал для тестирования, приведен ниже). Затем сделать что-то похожее на Resque.enqueue( GraphData )
для всех 15 классов.
class GraphData
@queue = :graph_data
def self.init()
end
def self.perform()
File.open( '/home/ziyan/Desktop/resque.txt', 'a' ) { | file | file.write( "Resqueu - performed - #{Time.now}n" ) }
end
end
Чтобы запустить операцию в целях тестирования, я создал задачу rake.
desc "Start Resque Workers for Queue" # {{{
task :graph_data do |t|
ENV["QUEUE"] = "*"
ENV["VVERBOSE"] = "1"
ENV["INTERVAL"] = "5"
Resque.enqueue( GraphData )
#resque = Resque.new
#resque << AdminWorker.new
end # }}}
Как вы видите, в классе GraphData
, под self.perform
методом я пишу в файл.
Моя проблема в том, что это не так! Я что-то сделал не так?
rake graph_data
не покажет никакого выхода. Веб-интерфейс покажет задание в Queue
.
Дополнительная Информация
Я добавил еще одну задачу Rake
для запуск веб-интерфейса.
desc "Start Resque Web Frontend" # {{{
task :resque_web_frontend do |t|
sh "resque-web -p 8282"
puts "Resque Web Frontend is running on http://localhost:8282"
end # }}
Над ними, видно, что-то интересное. Когда я выполняю задачу rake, под stats
значение pending
увеличивается, но не обрабатывается.
Под очередями - > graph_data я вижу что-то вроде этого.
Class Args
GraphData []
GraphData []
GraphData []
Что у меня получилось :
desc "Start Resque Workers for Queue" # {{{
task :graph_data do |t|
ENV["QUEUE"] = "*"
ENV["VVERBOSE"] = "1"
ENV["INTERVAL"] = "5"
Rake::Task[ "resque:work" ].invoke
Resque.enqueue( GraphData )
#resque = Resque.new
#resque << AdminWorker.new
end # }}}