我正在尝试遵循ruby中的AppFog guide on creating a background worker,而且我遇到了一些(可能是noob)问题。该示例使用Rufus-scheduler
,(根据the Ruby docs on AppFog)表示我需要使用Bundler
在我的应用中包含/管理。尽管如此,我已经运行bundle install
,以适当的('独立')方式将所有内容推送到AppFog,但仍然无法让它运行。
我的App&的Gemfile:
...并通过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来说很新=)
提前致谢。
答案 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