相关疑难解决方法(0)

Rails,在开发中使用gem时使用

对不起快速问题来自相关的Rails新手.我正在尝试使用Whenever gem来安排一些rake任务.我不能为我的生活让它真正开始在我的开发机器上运行cron作业.

从其他stackoverflow线程来看,似乎我应该添加:

set :environment, "development"
Run Code Online (Sandbox Code Playgroud)

到我的schedule.rb文件.但那又怎样?

然后,一旦他们开始,我该如何停止cron工作?

在OSX中使用Rails 3.2.3

更新:答案是运行$ whenever -w将cron作业写入crontab文件.然后系统立即开始自动运行该crontab文件.

不幸的是,我的日志文件包含以下内容: "rake aborted! Don't know how to build task <task name>"

我想这可能是由于已知的crontab/rvm问题,但欢迎任何建议.

ruby-on-rails whenever

39
推荐指数
2
解决办法
2万
查看次数

在 Rails 中安排 ActiveJob

我正在做一个天气 API,它将从另一个 API 获取、处理和保存数据。为了获取每日更新(请求 URL 信息、获取 JSON/XML 数据、构建我的数据并将其保存到我的数据库),我认为最合适的方法是使用 ActiveJob。

我想安排作业定期运行。我想要像 UNIX cron 或 Spring @Scheduled 注释之类的 Java 注释。

我在 Stack Overflow(这个)上看到了另一个关于调度作业的问题,但他们像任何时候一样使用外部 gem。我一直在寻找允许在 Rails API ( Backends ) 中执行作业的后端,但似乎没有一个可用的允许调度作业。

Rails 框架(第 5 版)上有什么东西可以让我做我想做的事吗?或者我必须使用外部宝石?

非常感谢。

编辑如果对任何人有用,这里是工作的架构:

class ImportDailyDataJob < ApplicationJob
  queue_as :default

  def perform(*args)
    # Do something later
  end

  private

  def prepare_request
    # return the request object
  end

  def request_data
    # Get the data from external API.
  end

  def process_data
    # Process the data
  end

  def save_processed_data
    # …
Run Code Online (Sandbox Code Playgroud)

ruby cron ruby-on-rails scheduled-tasks rails-activejob

5
推荐指数
1
解决办法
3214
查看次数