AppFog后台工作人员“未能启动”

时间:2013-06-27 20:55:12

标签: ruby bundler gemfile appfog rufus-scheduler

我正在尝试遵循ruby中的AppFog guide on creating a background worker,而且我遇到了一些(可能是noob)问题。该示例使用Rufus-scheduler,(根据the Ruby docs on AppFog)表示我需要使用Bundler在我的应用中包含/管理。尽管如此,我已经运行bundle install,以适当的('独立')方式将所有内容推送到AppFog,但仍然无法让它运行。

我的App&的Gemfile: enter image description here

...并通过AF CLI:

$ af push
[...creating/uploading/etc. etc... - removed to save space]
Staging Application 'chservice-dev': OK                                         
Starting Application 'chservice-dev': .

Error: Application [chservice-dev] failed to start, logs information below.

====> /logs/staging.log <====

# Logfile created on 2013-06-27 20:22:23 +0000 by logger.rb/25413
Need to fetch tzinfo-1.0.1.gem from RubyGems
Adding tzinfo-1.0.1.gem to app...
Adding rufus-scheduler-2.0.19.gem to app...
Adding bundler-1.1.3.gem to app...

====> /logs/stdout.log <====

2013-06-27 20:22:28.841 - script executed.

Delete the application? [Yn]: 

如何修复(或排除故障)?我可能错过了一个很大的步骤/概念...对ruby来说很新=)

提前致谢。

1 个答案:

答案 0 :(得分:2)

我认为该应用可能会立即退出。调度程序需要加入主线程才能使该应用程序继续运行。

require 'rubygems'
require 'rufus/scheduler'

scheduler = Rufus::Scheduler.start_new

scheduler.every '10s' do
  puts 'Log this'
end

### join the scheduler to the main thread ###
scheduler.join

我创建了一个适用于appfog的样本rufus调度程序应用程序:https://github.com/tsantef/appfog-rufus-example