Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

絵文字の力を使用して、すべてのSidekiqキューをクリアする方法

ここHoneybadgerでは、Sidekiqをよく使用していますが、それは素晴らしいことです。しかし、私がよく遭遇する問題が1つあります。

...ご覧のとおり、開発中は通常Sidekiqを実行しません。しかし、手動テストの過程で、私は多くのジョブをキューに入れさせます。だから次回は Sidekiqを実行すると、これらすべてのジョブの処理が試行されます。良くない。

1つのSidekiqキューからジョブを削除するコードスニペットを見つけるのは簡単です。しかし、たくさん キューの。それらすべてから仕事を片付けたい。少し掘り下げた後、私はうまくいくように見える答えを思いついた。見よ!

# I originally had a more verbose piece of code here but mperham, Sidekiq's creator, set me straight :)

Sidekiq::Queue.all.each(&:clear)

より直接的な方法はありますが、これはSidekiqのパブリックAPIで定義されたメソッドのみを使用するため、内部が変更されても機能し続けることを願っています。

絵文字が増えました!

sidekiqソースを注意深く読むと、💣絵文字を使用してclearメソッドを呼び出すことができることに気付くかもしれません。冗談じゃない:

# https://github.com/mperham/sidekiq/blob/master/lib/sidekiq/api.rb#L255

alias_method :💣, :clear

したがって、「すべてのキューをクリア」コードを次のように書き直すことができます。

Sidekiq::Stats.new.queues.each { |k, v| Sidekiq::Queue.new(k).💣 }

絵文字はとてもかっこいいので、独自の💀メソッドを作成して一括削除を行うことができます。

def 💀
  Sidekiq::Stats.new.queues.each { |queue_name, _| Sidekiq::Queue.new(queue_name).💣 }
end

  1. HTMLフォームのすべての入力をクリアするにはどうすればよいですか?

    HTMLフォームを使用すると、ユーザー入力を簡単に受け取ることができます。 タグは、フォーム要素を追加することにより、ユーザー入力を取得するために使用されます。さまざまな種類のフォーム要素には、テキスト入力、ラジオボタン入力、送信ボタンなどがあります。 タグは、type属性を使用してユーザー入力を取得するのに役立ちます。 HTMLフォームのすべての入力をクリアするには、 typeでタグを使用します リセットとしての属性。 例 次のコードを実行して、HTMLフォームのすべての入力をクリアすることができます- <!DOCTYPE html> <html> &nb

  2. Macを使用してiPhone上のすべての写真を削除する方法

    iPhoneの高品質カメラを使ってたくさんの写真を撮るのは本当に簡単ですが、それらの写真を管理することも同様に困難です。たった16GBのメモリを搭載したiPhoneをお持ちの方は、メモリ不足の問題に直面することがよくあります。 この時点で、iPhoneから不要な写真を削除して、空き容量を増やすことができます。 Macもお持ちで、MacとiPhoneの両方でiCloudがオンになっている場合、写真はすべてクラウドにバックアップされ、ライブラリは2つの間で同期されます。最近削除された写真のフォルダを一掃するための努力を集中する必要があります。そこにそれほど多くない場合は、スマートフォンの他の場所