我正在制作一个天气API,它将从另一个API获取、处理和保存数据。为了获得每日更新(请求URL信息,获取JSON/XML数据,构建我的数据并将其保存到数据库中),我认为最合适的方法是使用ActiveJob。
我想定期安排工作。我希望有类似于UNIX cron或Java的Spring @Scheduled注释的东西。
我在Stack Overflow上看到了其他关于调度作业的问题(this one),但它们使用外部gem,例如whenever。我一直在寻找一个后端,允许在Rails API中执行作业(Backends),但似乎没有可用的后端允许调度作业。
在Rails框架(版本5)中是否有任何可以实现我正在尝试的功能?或者我必须使用外部gem?
非常感谢您。
编辑 如果对任何人有用,这是工作的模式:
我想定期安排工作。我希望有类似于UNIX cron或Java的Spring @Scheduled注释的东西。
我在Stack Overflow上看到了其他关于调度作业的问题(this one),但它们使用外部gem,例如whenever。我一直在寻找一个后端,允许在Rails API中执行作业(Backends),但似乎没有可用的后端允许调度作业。
在Rails框架(版本5)中是否有任何可以实现我正在尝试的功能?或者我必须使用外部gem?
非常感谢您。
编辑 如果对任何人有用,这是工作的模式:
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
# Saves the data to the database
end
end