2013-08-05 2 views
2

Я пытаюсь использовать службу Simple Workflow для управления заданиями для приложения rails. Я основываю свою работу на примере заказа из документации. Задача рейка выглядит следующим образом:Как получить доступ к AWS :: Flow :: ActivityWorker из задачи rails rake

require "#{Rails.root}/app/helpers/application_helper" 
include ApplicationHelper 

namespace :swf do 
    desc 'Start activity worker' 
    task :activity => :environment do 
    swf, domain = swf_domain 
    activity_worker = AWS::Flow::ActivityWorker.new(swf.client, domain, SWF_ACTIVITY_TASK_LIST, ScrapeActivity) { {:use_forking => false} } 
    activity_worker.start 
    end 

    desc 'Start workflow worker' 
    task :workflow => :environment do 
    swf, domain = swf_domain 
    worker = AWS::Flow::WorkflowWorker.new(swf.client, domain, SWF_WORKFLOW_TASK_LIST, ScrapeWorkflow) 
    worker.start 
    end 

    desc 'Queue activities' 
    task :scrape => :environment do 
    swf, domain = swf_domain 
    my_workflow_client = workflow_client(swf.client, domain) { {:from_class => "ScrapeWorkflow"} } 

    Product.all.each do |product| 
     $workflow_execution = my_workflow_client.start_execution(product.asin) 
    end 
    end 
end 

Остальная часть кода online. Я использую aws-flow gem (и я добавил aws-flow-core), но я получаю сообщение об ошибке: uninitialized constant AWS::Flow::ActivityWorker, когда я пытаюсь запустить рабочего.

ответ

0

Я исправил эту проблему, добавив к передней задачи:

require "#{ENV['GEM_HOME']}/gems/aws-flow-1.0.0/lib/aws/decider.rb" 

 Смежные вопросы

  • Нет связанных вопросов^_^