タグ

sidekiqに関するdai_yamashitaのブックマーク (4)

  • Sidekiq による非同期処理を Redis の分散ロックで排他制御した話 - peroli Developer's Blog

    MERY のサーバーサイドエンジニアの @saidie です。 MERY では画像アップロードや記事投稿による検索インデックス作成などなど、ユーザからのリクエスト起因で起こる時間のかかる処理の多くを非同期に行うことでレスポンスタイムの向上に努めています。また、重複した非同期処理が並行して走ることによる スループット の劣化を分散ロックを用いた 排他制御 で緩和する取り組みなども行っています。 MERY は Ruby on Rails を用いて開発されており、非同期処理には Ruby 製の フレームワーク である Sidekiq を採用しています。この記事では Sidekiq と Redis による分散ロックを使って、同一の非同期処理が(あまり)重複しないような MERY の非同期処理システムについてご紹介します。 Sidekiq Sidekiq はクライアントサー バモ デルのマルチスレッ

    Sidekiq による非同期処理を Redis の分散ロックで排他制御した話 - peroli Developer's Blog
  • mrubyからSidekiqに非同期ジョブを登録するmrbgemをつくった

    ngx_mrubyでHTTPリクエストに対して非同期処理をしたかったので、mruby-sidekiq-clientという mrbgem をつくりました。 mrubyからSidekiqのジョブ形式でRedisに非同期ジョブを登録し、別途用意したSidekiqのサーバーが登録されたジョブを捌いていくという方式です。これにより、非同期処理は通常のRailsやCRubyのコードで書くことができ、mruby側の処理はシンプルに保つことができます。 使い方 RailsなどでSidekiqを使っている方にはお馴染みのやり方です。 1. 非同期ジョブにしたいWorkerクラスを定義します

    mrubyからSidekiqに非同期ジョブを登録するmrbgemをつくった
  • Sidekiq について基本と1年半運用してのあれこれ - まっしろけっけ

    はじめに 実際に運用していた時に非同期にしていた主な処理は下記のようなものがあります。 iOS Android の push 通知の送信処理 ログの作成 様々な外部 API の呼び出し 非同期で更新しても問題ないデータの更新 Sidekiq is なに sidekiqは非同期処理を実現する gem 他にも Ruby で非同期処理を実現できる有名な gem には resque や delayed_job 等がある。 sidekiq.org Enterprise版等もありますが、 今回はOSS版を使用している前提でのお話しです。 他の非同期処理が可能な gem との簡単な比較 FAQ · mperham/sidekiq Wiki · GitHub この内容は結構真実を語っていることを最近知った Sidekiq Redis マルチスレッド リトライ処理あり おしゃれなダッシュボード Resque

    Sidekiq について基本と1年半運用してのあれこれ - まっしろけっけ
  • Sidekiqのコードに潜む愉快なメソッドたち | 割り箸ポテチ

    少し前にRails4.2のActiveJobのバックエンドについて調べました。 Resque、SidekiqからSucker PunchまでActiveJobのバックエンドについてひと通り調べてみた このときSidekiqのコードを読んで、Celluloidによるアクターモデルで並行処理を実装していることを知りました。 ちょうどScalaやErlangでアクターを使う方法を調べていたところだったので興味がわき、Celluloidを利用したアプリケーションのサンプルとして読んでみることにしました。 その時見つけた愉快なメソッドを紹介します。 今回読んだSidekiqのバージョンは3.3.3です。 注意事項 エントリはSidekiqやアクターの解説記事ではありません。 記事に機種依存文字が含まれています。 OSXChromeとFirefox、iOSのSafariとChromeでのみ表示を確

  • 1