我对在 Windows 上工作的 RoR 比较陌生。我在 Rails 中构建了一个使用 ActionMailer 发送电子邮件的简单应用程序。我想向我的 Windows 调度程序添加一个任务,以运行一个批处理例程,该例程在我的控制器内部调用我的电子邮件方法。当我这样做时,网络应用程序将不会运行,所以我不能做 CURL 或类似的事情。有没有办法运行带有一些参数的 Ruby.exe 来启动 Rails 应用程序(类似于 irb)并调用控制器:方法?
更新:我在我标记为正确的答案中采纳了建议,但我想我会详细说明,以防像我这样的 RoR 新手需要更多指导。
- 我创建了一个文件夹 app\classes 并为我的班级创建了一个 .rb 文件
- 我必须创建一个初始化方法来处理一些设置
- 创建了一些简单的返回变量的方法
- 我确保我可以在rails 控制台中运行这些步骤
- 使用下面的代码在 lib\tasks 中创建了一个文件
在项目文件夹中的 DOS 中运行它 - rake runMe --trace
task :runMe => :environment do @s = ScrapeTools.new @bears = @s.getBears @bulls = @s.getBulls UserMailer.stock_email(@bears,@bulls).deliver end
如果您发现任何错误,请告诉我