如何在Rails上的ruby中进行活动以读取json文件然后将数据传输到数据库

女士

我是新手。我有问题,我在Ruby on Rails上构建了Web使用。我想从json文件中获取数据,然后插入数据库中。json文件中的数据可以随时增加。因此,我应该有一个后台作业,以一定的间隔运行。我已经阅读了Ruby文档,并说我可以使用Active Job。但是我仍然感到困惑。我应该如何逐步实现它?还是你们可以举个例子?

不管怎么说,还是要谢谢你。

aldhafera.h

您可以使用ActiveJob

活动作业设置

活动作业适配器必须设置为:sidekiq,否则将仅使用默认的:inline。

可以在config / application.rb中这样完成

例如:

class Application < Rails::Application
  # ...
  config.active_job.queue_adapter = :sidekiq
end

接下来,生成Job:

rails generate job Example

样本JSON数据:

{
    "title"  :    "Ruby In Rails",
    "url"    :    "http://rubyinrails.com",
    "posts"  :    {
                    "1":"strftime-time-format-in-ruby",
                    "2":"what-is-gemset"
                  }
}

将创建/app/jobs/example_job.rb

class ExampleJob < ActiveJob::Base
  # Set the Queue as Default
  queue_as :default

  def perform(*args)
    # Perform Job
    require 'json'

    # Open JSON File
    root = Rails.root.to_s       
    file = File.read('#{root}/data.json')


    # Parse Data from File
    data_hash = JSON.parse(file)

    # Do the SAVING and validation HERE...
    test = Sample.new
    test.title = data_hash['title']
    ......
    test.save


  end
end

用法,例如 在控制器中:

ExampleJob.perform_later args

这里的文件

或者,如果您更喜欢使用 CRONJOB来实现该功能:

例如,在Rails应用程序的lib / tasks /创建一个名为“ save_json.rb的文件

代码:

namespace :save_json do
  desc "..."
  task :execute => :environment do
    require 'json'

    # Open JSON File
    root = Rails.root.to_s       
    file = File.read('#{root}/data.json')


    #Parse Data from File
    data_hash = JSON.parse(file) 

    #Getting DATA

    data_hash['title']
     => "Ruby In Rails"
    data_hash.keys
     => ["title", "url", "posts"]
    data_hash['posts']
     => { "1" => "strftime-time-format-in-ruby", "2" => "what-is-gemset" }

    # Do the SAVING and validation HERE...
    test = Sample.new
    test.title = data_hash['title']
    ......
    test.save

end

在crontab中设置后台作业功能

vi /etc/crontab

代码:例如每分钟....

*/1 * * * * cd /my_rails_app && bundle exec rake save_json:execute

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过python将json数据传输到Postgres

来自分类Dev

使用PHP将Json数据传输到MySQL

来自分类Dev

如何将多个数据传输到不同的活动

来自分类Dev

如何从网页将数据传输到Firefox扩展

来自分类Dev

如何检查将某些数据传输到端口?

来自分类Dev

如何在PostgreSQL和MySQL中获取数据库数据传输统计信息?

来自分类Dev

Excel不将数据传输到Access数据库

来自分类Dev

如何在不进行缓冲的情况下将文件从数据库异步流式传输到WebClient

来自分类Dev

如何将(Mutable)Map传输到Kotlin中的数据传输对象类?

来自分类Dev

Vuejs。我无法将数据传输到对象

来自分类Dev

将大数据传输到远程服务器以进行保存

来自分类Dev

在WKInterfaceTable的选择行上,将数据传输到Iphone

来自分类Dev

Azure SQL数据库中的数据传输

来自分类Dev

使用PreparedStatement从MySQL数据库进行数据传输的开销

来自分类Dev

使用PreparedStatement从MySQL数据库进行数据传输的开销

来自分类Dev

如何使用Betty的方法使用AutoMapper将DataAnnotation元数据传输到ViewModel

来自分类Dev

将数据传输到excel时如何处理“旧”日期

来自分类Dev

如何通过ROS将真实感数据传输到其他设备

来自分类Dev

如何将数据传输到Ubuntu-Touch

来自分类Dev

如何将longlat格式的DEM数据传输到utm

来自分类Dev

如何将iOS App生成的数据传输到Macbook?

来自分类Dev

如何每天安全地将本地数据传输到 GCS 存储桶

来自分类Dev

如何使用while循环将php中的数据传输到javascript

来自分类Dev

在不遭受PK冲突的情况下,有哪些选择可以将一个特定Webapp用户的数据传输到另一个数据库实例上?

来自分类Dev

Rails 4 Oracle增强的适配器将许多传播数据传输到数据透视表

来自分类Dev

如何进行以 ACLK 为中心的数据传输

来自分类Dev

如何将下载的JSONArray传输到数据库?

来自分类Dev

网页上的Ctrl + S是否使用FTP将网页数据传输到我的硬盘上?

来自分类Dev

我使用 ScriptableObject 将一些数据传输到脚本,但它卡在一个变量上

Related 相关文章

  1. 1

    通过python将json数据传输到Postgres

  2. 2

    使用PHP将Json数据传输到MySQL

  3. 3

    如何将多个数据传输到不同的活动

  4. 4

    如何从网页将数据传输到Firefox扩展

  5. 5

    如何检查将某些数据传输到端口?

  6. 6

    如何在PostgreSQL和MySQL中获取数据库数据传输统计信息?

  7. 7

    Excel不将数据传输到Access数据库

  8. 8

    如何在不进行缓冲的情况下将文件从数据库异步流式传输到WebClient

  9. 9

    如何将(Mutable)Map传输到Kotlin中的数据传输对象类?

  10. 10

    Vuejs。我无法将数据传输到对象

  11. 11

    将大数据传输到远程服务器以进行保存

  12. 12

    在WKInterfaceTable的选择行上,将数据传输到Iphone

  13. 13

    Azure SQL数据库中的数据传输

  14. 14

    使用PreparedStatement从MySQL数据库进行数据传输的开销

  15. 15

    使用PreparedStatement从MySQL数据库进行数据传输的开销

  16. 16

    如何使用Betty的方法使用AutoMapper将DataAnnotation元数据传输到ViewModel

  17. 17

    将数据传输到excel时如何处理“旧”日期

  18. 18

    如何通过ROS将真实感数据传输到其他设备

  19. 19

    如何将数据传输到Ubuntu-Touch

  20. 20

    如何将longlat格式的DEM数据传输到utm

  21. 21

    如何将iOS App生成的数据传输到Macbook?

  22. 22

    如何每天安全地将本地数据传输到 GCS 存储桶

  23. 23

    如何使用while循环将php中的数据传输到javascript

  24. 24

    在不遭受PK冲突的情况下,有哪些选择可以将一个特定Webapp用户的数据传输到另一个数据库实例上?

  25. 25

    Rails 4 Oracle增强的适配器将许多传播数据传输到数据透视表

  26. 26

    如何进行以 ACLK 为中心的数据传输

  27. 27

    如何将下载的JSONArray传输到数据库?

  28. 28

    网页上的Ctrl + S是否使用FTP将网页数据传输到我的硬盘上?

  29. 29

    我使用 ScriptableObject 将一些数据传输到脚本,但它卡在一个变量上

热门标签

归档