

sidekiqを使って非同期にメールを送る処理を作っています。メールを送信するときに結果をテーブルに書き込んでいます。データベースは開発環境ではsqlite、本番環境ではmysqlを使います。開発環境では問題なく動作したのですが、本番環境では、sidekiqを動かす時に「sqlite3」をインストールしないと「Gem::LoadError:
Specified 'sqlite3' for database
adapter」とエラーが出てしまい、sqliteを入れるとsidekiqは動作するのですが、キューを処理するときに「ActiveRecord::StatementInvalid:
Could not find
table」とエラーが出てしまいます。おそらくsqliteのテーブルを探そうとしてしまっていると思うのですが、sidekiqでmysqlのテーブルを更新するようにするにはどのようにすればよいでしょうか？Railsのバージョンは4.2.7です。


CC BY-SA 3.0
2017-01-14T17:31:40.510
31853
2017-03-27T09:49:30.217
20223
question
ruby-on-rails sidekiq
sidekiqを使ってmysqlのテーブルを更新する方法


下記のコマンドでsidekiqを起動することで解決しました。

[code]

    bundle exec sidekiq -C config/sidekiq.yml --environment=production
    
[/code]

  

以前は、

[code]

    bundle exec sidekiq -C config/sidekiq.yml RAILS_ENV=production
    
[/code]

のように起動していたのですが、production環境であることを伝える形式が間違っていたようです。


CC BY-SA 3.0
2017-01-17T19:02:50.457
31922
2017-01-17T19:29:10.403
2017-01-17T19:29:10.403
754
20264
31853
answer