macOSでkey repeatが動かない時の対処法

実際はkeyrepeatは作動している。(例えば、$などはブラウザ上でキーリピートするし、Terminalでは問題なく動く)
この現象のときは、下記をターミナルを開いて打つ。

そして、再起動。

Railsで特定のバージョンのmigrationをロールバックする方法

git branchを行ったり来たりしていてしっかり管理しないとlocalでゴミテーブルができるのでしっかりdownさせる。

db:migrate:statusでマイグレーションの状態を確認。

最初の数列をコピペしてそのファイルだけ戻す。

その後必要ならSQLでmigrationエントリを消す

Sidekiqでdelayを使う。しかし、クラスメソッドを使いダイナミックなQueue名を使わない

DelayedJobと比べると使い方が少し違うので注意が必要。

Extentionを読み込むとdelayが使える

config/initializers/sidekq.rbに下記を追加(存在しない場合は作成)。これで毎回performを書かなくて良い。

これで、User.delay.my_methodが使える!

https://github.com/mperham/sidekiq/wiki/Delayed-extensions

インスタンスメソッドを使わない

インスタンスメソッドでも一見動いたので大丈夫かと思ったが実際運用してみるとだめだった。クラスメソッドでWrapして使いましょう。よく見ると太字でだめと書かれている。

I strongly recommend avoiding delaying methods on instances. This stores object state in Redis which can get out of date, causing stale data problems.

ランタイム時に動的なQueue名を指定しない

それ用のライブラリが別途あるのでそれを使用。スタティックなQueue使いにくい。。ユーザ毎にキューを用意したい。。

https://stackoverflow.com/questions/20133346/how-can-i-create-sidekiq-queues-with-variable-names-at-runtime

Scroll to top