GithubHelp home page GithubHelp logo

Comments (62)

ota42y avatar ota42y commented on July 29, 2024 1
  • rails new中にrdoc/riの警告?メッセージが出る
  • 1.9.2以上で実行しているならそもそも不要では?

note

Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
 = 1.8.7 : gem install rdoc-data; rdoc-data --install
 = 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • reading readme
  • テスト落ちてる(´・_・`)?

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 使い方
  • 非同期に処理を実行できるgem

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • install
  • Railsしかサポートしてないのでrailsも入れる

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • install
  • nokogiriのインストール長い…(´・_・`)

bundle init

Gemfile
gem "rails"
gem 'delayed_job_active_record'

bundle install --path vendor/bundle
Using bundler 1.11.2
Installing delayed_job 4.1.2
Installing rails 4.2.6

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • インストール終わった
  • 次は試しに動かす

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 動かし方を読む
  • ActiveRecordをバックエンドとして使うには job tableが必要らしい。AR以外をバックエンドにできるのかか?

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • AR以外のバックエンドが使えるのか調べる
  • mongodbをバックエンドにできるらしい(別のgemも必要)
    If you plan to use delayed_job with Mongoid〜

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • job tableを作る
  • rails newしてなかった…使い方間違えてた(`・∀・´≡`・∀・´)

note
rails generate delayed_job:active_record
rails newしろよーエラー

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • railsのインストール
  • gem i rails

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 他にどんなgemを使ってるか読む
  • gem i rails中暇なので。
  • activesupportが必須gem

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • テスト用railsアプリを作る
  • API-modeは5移行なので4.2.6を入れてるので普通に作る
  • ralis new delayed_job_test

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • gemの依存関係調査
  • gemfileとgemspecの関係がわからない…
    • gemfile側にもrakeや platforms :rubyがあるけど、gemspec側にもdependencyがある
      • platforms指定はGemfilesじゃないとできない?
        • だとしたらrakeはgemspec側でも良いのでは?

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • rubocopってgemfileに書く必要あるの?
    • いつもコマンドで実行しているイメージ
    • requireしてないなら不要?開発時に必ず使うパスがある?

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • delayed_jobを入れる
  • gem 'delayed_job_active_record'を書いてbundle install
    • delayed_jobは直接入れず、AR用のgemから依存関係で入るみたい
    • 多分mongodb版も同じかと

note

Installing delayed_job 4.1.2
Installing delayed_job_active_record 4.1.1

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • job table用のmigrationとか作る
  • rails generate delayed_job:active_record
    • bin/delayed_jobもできた

code

Running via Spring preloader in process 16874
      create  bin/delayed_job
       chmod  bin/delayed_job
      create  db/migrate/20160611022955_create_delayed_jobs.rb

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • job tableのmigration実行
  • rake db:migrate
    • エラー(´・_・`)

code


rake aborted!
Gem::LoadError: You have already activated rake 10.4.2, but your Gemfile requires rake 11.1.2. Prepending `bundle exec` to your command may solve this.
files/workspace/delayed_job_test/config/boot.rb:3:in `<top (required)>'
files/workspace/delayed_job_test/config/application.rb:1:in `<top (required)>'
files/workspace/delayed_job_test/Rakefile:4:in `<top (required)>'
LoadError: cannot load such file -- bundler/setup
files/workspace/delayed_job_test/config/boot.rb:3:in `<top (required)>'
files/workspace/delayed_job_test/config/application.rb:1:in `<top (required)>'
files/workspace/delayed_job_test/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • システムのrake が使われてた
  • bundle exec rake ではなく rake で実行していた

code

rake --version
rake, version 10.4.2
bundle exec rake --version
rake, version 11.1.2

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • システムのrake消す
  • できない
    • default gemらしい。
    • 必須だから消せない→知らないうちに古いrake使ってる可能性が

note

gem uninstall rake
ERROR:  While executing gem ... (Gem::InstallError)
    gem "rake" cannot be uninstalled because it is a default gem

from workshop.

ota42y avatar ota42y commented on July 29, 2024

readme にbundle exec rakeにして欲しい

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • そもそもbundle exec rake実行してもrequireに失敗するのでは?
  • グローバルにrakeのバージョン指定してインストールしてみる

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • rakeを11.1.2に上げる
  • gem install rake -v 11.1.2

note

rake --version
rake, version 11.1.2

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • rake11.1.2でbundleを使わずにマイグレーションする
  • rake db:migrate
    • 通った(´・_・`)!
    • rakeタスク内でdependencyのgemをrequireしてなければいけるのかな…?

note


== 20160611022955 CreateDelayedJobs: migrating ================================
-- create_table(:delayed_jobs, {:force=>true})
   -> 0.0033s
-- add_index(:delayed_jobs, [:priority, :run_at], {:name=>"delayed_jobs_priority"})
   -> 0.0006s
== 20160611022955 CreateDelayedJobs: migrated (0.0041s) =======================

from workshop.

ota42y avatar ota42y commented on July 29, 2024

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 開発時の機能
  • 100個のjobごとか、queueが終わったタイミングでコードをリロードする
    • delayed_jobの再起動は要らないらしい…便利
    • jobとqueueのfinishってどう違うの?
      • queueのfinishはキューの一つの処理が終わったとき?キューがからになったとき?
    • 読み込む範囲はdelayed_jobが読み込むコード全て?delayed_job本体への変更は?
      • (リロードする周りに変更があった場合にリロードされる?)

どう扱うか検討しよう

from workshop.

ota42y avatar ota42y commented on July 29, 2024

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • rails4系の制約
  • protected_attributes gemを使っている場合はgemfileの上に書く必要があるらしい
    • 何かと競合するから?
    • gemfileの書き順によってロード順が変わる?
    • requireの評価順で挙動が変わるのかな??

from workshop.

ota42y avatar ota42y commented on July 29, 2024

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • model作る
  • rails g model user name:string

note

      invoke  active_record
      create    db/migrate/20160611045154_create_users.rb
      create    app/models/user.rb
      invoke    test_unit
      create      test/models/user_test.rb
      create      test/fixtures/users.yml

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • delayed job用のメソッド作る
  • こんな感じ

note


class User < ActiveRecord::Base
  def update_name(new_name)
    @name = new_name
    @name.save
  end
end

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • migration
  • bundle exec rake db:migrate

note

== 20160611045154 CreateUsers: migrating ======================================
-- create_table(:users)
   -> 0.0014s
== 20160611045154 CreateUsers: migrated (0.0015s) =============================

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 試してみる
  • rails c
irb(main):001:0> u = User.create
   (0.1ms)  begin transaction
  SQL (0.4ms)  INSERT INTO "users" ("created_at", "updated_at") VALUES (?, ?)  [["created_at", "2016-06-11 04:57:29.630331"], ["updated_at", "2016-06-11 04:57:29.630331"]]
   (53.2ms)  commit transaction
=> #<User id: 1, name: nil, created_at: "2016-06-11 04:57:29", updated_at: "2016-06-11 04:57:29">
irb(main):002:0> u.name = "test"
=> "test"
irb(main):003:0> User.first
  User Load (0.2ms)  SELECT  "users".* FROM "users"  ORDER BY "users"."id" ASC LIMIT 1
=> #<User id: 1, name: nil, created_at: "2016-06-11 04:57:29", updated_at: "2016-06-11 04:57:29">

irb(main):004:0> u.save
   (0.1ms)  begin transaction
  SQL (0.3ms)  UPDATE "users" SET "name" = ?, "updated_at" = ? WHERE "users"."id" = ?  [["name", "test"], ["updated_at", "2016-06-11 05:02:18.719362"], ["id", 1]]
   (50.6ms)  commit transaction
=> true

irb(main):009:0* User.first
  User Load (0.2ms)  SELECT  "users".* FROM "users"  ORDER BY "users"."id" ASC LIMIT 1
=> #<User id: 1, name: "test", created_at: "2016-06-11 04:57:29", updated_at: "2016-06-11 05:02:18">

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • delay用メソッド動かす
  • u.update_name('update_name_sync')
    • エラー
    • saveメソッド間違えてた(´・_・`)
  def update_name(new_name)
    name = new_name
    save
  end

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 同期保存
  • アップデートされてる
irb(main):006:0* u = User.create(name: 'before')
   (0.2ms)  begin transaction
  SQL (0.3ms)  INSERT INTO "users" ("name", "created_at", "updated_at") VALUES (?, ?, ?)  [["name", "before"], ["created_at", "2016-06-11 05:06:42.352407"], ["updated_at", "2016-06-11 05:06:42.352407"]]
   (14.8ms)  commit transaction
=> #<User id: 5, name: "before", created_at: "2016-06-11 05:06:42", updated_at: "2016-06-11 05:06:42">
irb(main):007:0> u.update_name('after_sync')
   (0.1ms)  begin transaction
   (0.1ms)  commit transaction
=> true
irb(main):008:0> u
=> #<User id: 5, name: "before", created_at: "2016-06-11 05:06:42", updated_at: "2016-06-11 05:06:42">
irb(main):009:0> User.last
  User Load (0.2ms)  SELECT  "users".* FROM "users"  ORDER BY "users"."id" DESC LIMIT 1
=> #<User id: 5, name: "before", created_at: "2016-06-11 05:06:42", updated_at: "2016-06-11 05:06:42">

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 非同期保存
  • まだ呼ばれてない
u = User.create(name: 'async_before')
   (0.1ms)  begin transaction
  SQL (0.3ms)  INSERT INTO "users" ("name", "created_at", "updated_at") VALUES (?, ?, ?)  [["name", "async_before"], ["created_at", "2016-06-11 05:07:38.432976"], ["updated_at", "2016-06-11 05:07:38.432976"]]
   (52.3ms)  commit transaction
=> #<User id: 6, name: "async_before", created_at: "2016-06-11 05:07:38", updated_at: "2016-06-11 05:07:38">
u.delay.update_name('after_async')
   (0.1ms)  begin transaction
  SQL (0.4ms)  INSERT INTO "delayed_jobs" ("handler", "run_at", "created_at", "updated_at") VALUES (?, ?, ?, ?)  [["handler", "--- !ruby/object:Delayed::PerformableMethod\nobject: !ruby/object:User\n  raw_attributes:\n    name: async_before\n    id: 6\n    created_at: &1 2016-06-11 05:07:38.432976000 Z\n    updated_at: *1\n  attributes: !ruby/object:ActiveRecord::AttributeSet\n    attributes: !ruby/object:ActiveRecord::LazyAttributeHash\n      types:\n        id: &4 !ruby/object:ActiveRecord::Type::Integer\n          precision: \n          scale: \n          limit: \n          range: !ruby/range\n            begin: -2147483648\n            end: 2147483648\n            excl: true\n        name: &3 !ruby/object:ActiveRecord::Type::String\n          precision: \n          scale: \n          limit: \n        created_at: !ruby/object:ActiveRecord::AttributeMethods::TimeZoneConversion::TimeZoneConverter\n          subtype: &2 !ruby/object:ActiveRecord::Type::DateTime\n            precision: \n            scale: \n            limit: \n        updated_at: !ruby/object:ActiveRecord::AttributeMethods::TimeZoneConversion::TimeZoneConverter\n          subtype: *2\n      values:\n        id: \n        name: \n        created_at: \n        updated_at: \n      additional_types: {}\n      materialized: true\n      delegate_hash:\n        name: !ruby/object:ActiveRecord::Attribute::FromUser\n          name: name\n          value_before_type_cast: async_before\n          type: *3\n          value: async_before\n        id: !ruby/object:ActiveRecord::Attribute::FromUser\n          name: id\n          value_before_type_cast: 6\n          type: *4\n          value: 6\n        created_at: !ruby/object:ActiveRecord::Attribute::FromUser\n          name: created_at\n          value_before_type_cast: *1\n          type: !ruby/object:ActiveRecord::AttributeMethods::TimeZoneConversion::TimeZoneConverter\n            subtype: *2\n          value: *1\n        updated_at: !ruby/object:ActiveRecord::Attribute::FromUser\n          name: updated_at\n          value_before_type_cast: *1\n          type: !ruby/object:ActiveRecord::AttributeMethods::TimeZoneConversion::TimeZoneConverter\n            subtype: *2\n          value: *1\n  new_record: false\n  active_record_yaml_version: 0\nmethod_name: :update_name\nargs:\n- after_async\n"], ["run_at", "2016-06-11 05:08:24.300926"], ["created_at", "2016-06-11 05:08:24.301219"], ["updated_at", "2016-06-11 05:08:24.301219"]]
   (11.1ms)  commit transaction
=> #<Delayed::Backend::ActiveRecord::Job id: 1, priority: 0, attempts: 0, handler: "--- !ruby/object:Delayed::PerformableMethod\nobject...", last_error: nil, run_at: "2016-06-11 05:08:24", locked_at: nil, failed_at: nil, locked_by: nil, queue: nil, created_at: "2016-06-11 05:08:24", updated_at: "2016-06-11 05:08:24">
u
=> #<User id: 6, name: "async_before", created_at: "2016-06-11 05:07:38", updated_at: "2016-06-11 05:07:38">
User.last
  User Load (0.3ms)  SELECT  "users".* FROM "users"  ORDER BY "users"."id" DESC LIMIT 1
=> #<User id: 6, name: "async_before", created_at: "2016-06-11 05:07:38", updated_at: "2016-06-11 05:07:38">

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 非同期テーブルに入ってるか確認
  • 別バックエンドならActiveRecordが違うネームスペースになりそう
Delayed::Backend::ActiveRecord::Job.first
  Delayed::Backend::ActiveRecord::Job Load (0.2ms)  SELECT  "delayed_jobs".* FROM "delayed_jobs"  ORDER BY "delayed_jobs"."id" ASC LIMIT 1
=> #<Delayed::Backend::ActiveRecord::Job id: 1, priority: 0, attempts: 0, handler: "--- !ruby/object:Delayed::PerformableMethod\nobject...", last_error: nil, run_at: "2016-06-11 05:08:24", locked_at: nil, failed_at: nil, locked_by: nil, queue: nil, created_at: "2016-06-11 05:08:24", updated_at: "2016-06-11 05:08:24">

from workshop.

ota42y avatar ota42y commented on July 29, 2024

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 変わったか確認
  • 変わってない?
irb(main):034:0> User.last
  User Load (0.2ms)  SELECT  "users".* FROM "users"  ORDER BY "users"."id" DESC LIMIT 1
=> #<User id: 6, name: "async_before", created_at: "2016-06-11 05:07:38", updated_at: "2016-06-11 05:07:38">
irb(main):035:0> u
=> #<User id: 6, name: "async_before", created_at: "2016-06-11 05:07:38", updated_at: "2016-06-11 05:07:38">
irb(main):036:0> u.reload
  User Load (0.2ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1  [["id", 6]]
=> #<User id: 6, name: "async_before", created_at: "2016-06-11 05:07:38", updated_at: "2016-06-11 05:07:38">
irb(main):037:0> Delayed::Backend::ActiveRecord::Job.count
   (0.2ms)  SELECT COUNT(*) FROM "delayed_jobs"
=> 0
irb(main):038:0> u
=> #<User id: 6, name: "async_before", created_at: "2016-06-11 05:07:38", updated_at: "2016-06-11 05:07:38">

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 実行はされている
    • delayd_jobのテーブルが無くなってる

'''
[Worker(host:MBA.local pid:46727)] Starting job worker
[Worker(host:MBA.local pid:46727)] Job User#update_name (id=1) RUNNING
[Worker(host:MBA.local pid:46727)] Job User#update_name (id=1) COMPLETED after 0.0196
[Worker(host:MBA.local pid:46727)] 1 jobs processed at 15.6516 j/s, 0 failed
'''

from workshop.

ota42y avatar ota42y commented on July 29, 2024

from workshop.

ota42y avatar ota42y commented on July 29, 2024

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 更新されない
  • databaseからキューは消えてる
    • 実行もされているログは出ている
  • データは変わってない
  • ログファイルの一を探す

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • ログ見つつ実行
  • tail -f log/development.log
  • 実行はされているみたい?
t IS NULL)  ORDER BY priority ASC, run_at ASC LIMIT 5
  SQL (51.0ms)  UPDATE "delayed_jobs" SET "locked_at" = '2016-06-11 05:29:20.436216', "locked_by" = 'host:MBA.local pid:46727' WHERE "delayed_jobs"."id" IN (SELECT "delayed_jobs"."id" FROM "delayed_jobs" WHERE ((run_at <= '2016-06-11 05:29:20.435786' AND (locked_at IS NULL OR locked_at < '2016-06-11 01:29:20.435800') OR locked_by = 'host:MBA.local pid:46727') AND failed_at IS NULL) AND "delayed_jobs"."id" = ?  ORDER BY priority ASC, run_at ASC)  [["id", 3]]
  Delayed::Backend::ActiveRecord::Job Load (0.3ms)  SELECT  "delayed_jobs".* FROM "delayed_jobs" WHERE "delayed_jobs"."id" = ? LIMIT 1  [["id", 3]]
  User Load (0.2ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1  [["id", 6]]
2016-06-11T14:29:20+0900: [Worker(host:MBA.local pid:46727)] Job User#update_name (id=3) RUNNING
   (0.1ms)  begin transaction
   (0.1ms)  commit transaction
   (0.1ms)  begin transaction
  SQL (0.5ms)  DELETE FROM "delayed_jobs" WHERE "delayed_jobs"."id" = ?  [["id", 3]]
   (55.9ms)  commit transaction
2016-06-11T14:29:20+0900: [Worker(host:MBA.local pid:46727)] Job User#update_name (id=3) COMPLETED after 0.0597

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • printfデバッグ
  • 以下のように変更
class User < ActiveRecord::Base
  def update_name(new_name)
    puts new_name
    name = new_name
    save
  end
end
irb(main):002:0> u.update_name('test')
test
   (0.1ms)  begin transaction
  SQL (0.3ms)  UPDATE "users" SET "name" = ?, "updated_at" = ? WHERE "users"."id" = ?  [["name", "test"], ["updated_at", "2016-06-11 05:34:36.231199"], ["id", 8]]
   (49.6ms)  commit transaction
=> true
irb(main):003:0> u.
Display all 375 possibilities? (y or n)
irb(main):003:0> User.last
  User Load (0.2ms)  SELECT  "users".* FROM "users"  ORDER BY "users"."id" DESC LIMIT 1
=> #<User id: 8, name: "test", created_at: "2016-06-11 05:34:30", updated_at: "2016-06-11 05:34:36">

User.last
  User Load (0.2ms)  SELECT  "users".* FROM "users"  ORDER BY "users"."id" DESC LIMIT 1
=> #<User id: 8, name: "test_async", created_at: "2016-06-11 05:34:30", updated_at: "2016-06-11 05:35:11">

できてた

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • activerecordの謎挙動

u.nameではアクセスできるのに、インスタンスメソッド内部で

  def update_name(new_name)
    name = new_name
    save
  end

とやるとアクセスできない…(´・_・`)?

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • priorityのテスト
  • 低いやつと高いやつで上書きする
  • priority無しでは順に実行して順に処理→最終的に2回目の方に
  • priorityありにして、低いやつ高いやつで実行→最終的に低いやつの方になるはず

prority無し

  def update_name_low(new_name)
    self.name = new_name
    save
  end

  def update_name_high(new_name)
    self.name = new_name
    save
  end
u = User.last
u.delay.update_name_low('low_name')
u.delay.update_name_high('hih_name')
User.last # not change
  User Load (0.2ms)  SELECT  "users".* FROM "users"  ORDER BY "users"."id" DESC LIMIT 1
=> #<User id: 8, name: "test_async", created_at: "2016-06-11 05:34:30", updated_at: "2016-06-11 05:35:11">

bundle exec rake jobs:work
実行

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • readme読み直した
  • rails2はもう要らないのでは?

rails 2 not support
so delete this line?
See the 2.0 branch for Rails 2.

from workshop.

ota42y avatar ota42y commented on July 29, 2024

bundle exec rakeが正しいのか
bin/rakeが正しいのか?

railsのおすすめドキュメントにどう書いてあるか

from workshop.

ota42y avatar ota42y commented on July 29, 2024

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • そもそもbin/rakeで動くの?
  • ./bin/rake db:drop
    Running via Spring preloader in process 79829
  • springが邪魔をして動いてるかわからない…?

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • bundle exec rake db:dropではログが出ないので正しい挙動だ

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • rakeだとエラーになる
  • bin/rakeだとエラーにならない
rake db:migrate
rake aborted!
Gem::LoadError: You have already activated rake 10.4.2, but your Gemfile requires rake 11.1.2. Prepending `bundle exec` to your command may solve this.

bin/rake

bin/rake db:migrate
Running via Spring preloader in process 85569
== 20160611022955 CreateDelayedJobs: migrating ================================
-- create_table(:delayed_jobs, {:force=>true})
   -> 0.0041s
-- add_index(:delayed_jobs, [:priority, :run_at], {:name=>"delayed_jobs_priority"})
   -> 0.0008s
== 20160611022955 CreateDelayedJobs: migrated (0.0051s) =======================

== 20160611045154 CreateUsers: migrating ======================================
-- create_table(:users)
   -> 0.0006s
== 20160611045154 CreateUsers: migrated (0.0007s) =============================

from workshop.

ota42y avatar ota42y commented on July 29, 2024

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • delayed_jobはrails3も対象なので、rails 3で使えないbin/rakeは使えない
  • rails2は別ブランチ
  • bundle install してるのにbundle execしないのおかしい
    • bundle exec 必須にするのは正しいのか?

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • こんな感じで送る
このgemのセットアップ手順ではbundle installしてる。
実行する段階では
rails generate delayed_job:active_record
rake db:migrate

となってるので、system rakeが使われる。
system rakeとbundle installによってインストールされたrakeバージョンは異なる場合がある。
bundle installで入れる事を前提としているなら、Readmeのコマンドも
bundle exec rails generate delayed_job:active_record
bundle exec rake db:migrate
とbundle execをつけるべき



% rake db:migrate
rake aborted!
Gem::LoadError: You have already activated rake 10.4.2, but your Gemfile requires rake 11.1.2. Prepending `bundle exec` to your command may solve this.
/workspace/delayed_job_test/config/boot.rb:3:in `<top (required)>'
/workspace/delayed_job_test/config/application.rb:1:in `<top (required)>'
/workspace/delayed_job_test/Rakefile:4:in `<top (required)>'
LoadError: cannot load such file -- bundler/setup
/workspace/delayed_job_test/config/boot.rb:3:in `<top (required)>'
/workspace/delayed_job_test/config/application.rb:1:in `<top (required)>'
/workspace/delayed_job_test/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

from workshop.

ota42y avatar ota42y commented on July 29, 2024
  • 聞かないと問題ないかわからないので、聞こう

from workshop.

ota42y avatar ota42y commented on July 29, 2024

In the README.md, use bundle install.
And gerenate database command like this.

rails generate delayed_job:active_record
rake db:migrate

But, this command not use bundler's rails and rake.
So, when rails&rake in global and in Gemfile.lock are different version,
we got error like this.

% rake db:migrate
rake aborted!
Gem::LoadError: You have already activated rake 10.4.2, but your Gemfile requires rake 11.1.2. Prepending `bundle exec` to your command may solve this.
/workspace/delayed_job_test/config/boot.rb:3:in `<top (required)>'
/workspace/delayed_job_test/config/application.rb:1:in `<top (required)>'
/workspace/delayed_job_test/Rakefile:4:in `<top (required)>'
LoadError: cannot load such file -- bundler/setup
/workspace/delayed_job_test/config/boot.rb:3:in `<top (required)>'
/workspace/delayed_job_test/config/application.rb:1:in `<top (required)>'
/workspace/delayed_job_test/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

So we should use bundle exec when setup database table.

Same problem in this line.

rails generate delayed_job:upgrade
rake db:migrate

from workshop.

ota42y avatar ota42y commented on July 29, 2024

The rails 2.x is very old, and it's no longer supported.
(http://guides.rubyonrails.org/maintenance_policy.html)

So I think this link is not necessary.

from workshop.

ota42y avatar ota42y commented on July 29, 2024

collectiveidea/delayed_job#919
collectiveidea/delayed_job#920

from workshop.

ota42y avatar ota42y commented on July 29, 2024

なんでacive_jobから切り替える必要あるのか?

from workshop.

ota42y avatar ota42y commented on July 29, 2024

メンターがおかしいぞ?ってぼやいていたので空き時間にさくっと。
fluent/fluentd-docs#229

from workshop.

kou avatar kou commented on July 29, 2024

お疲れさまでした!

from workshop.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.