タグ

concurrencyに関するsupermomongaのブックマーク (2)

  • 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年半運用してのあれこれ - まっしろけっけ
  • Clojureのいろんな並行処理の使い分け

    Clojureのいろんな並行処理の使い分け Clojureには標準でもagent系のsend, send-offに加え、future関数というスレッド起動系関数があります。 core.asyncの登場で、ここにgoマクロとthreadマクロが加わりました。 これらはすべて、背後ではJavaのExecutorsを使ってスレッドプールを作り、一度生成したスレッドの再利用を行いますが、それぞれ使っているスレッドプールが異なります。さらに関数自体の機能も異なるため、どれをつかったらいいのか迷ってしまうことがあります。 自分用に整理したので、メモとしておいておきます。 IOバウンドとCPUバウンドまず、Clojureのスレッド関連関数の用途は、大きく2種類にわけられます。それが、IOバウンドとCPUバウンドです。 IOバウンドな処理は、実行中の処理がCPUよりもIO処理に強く依存します。DBアクセス

    Clojureのいろんな並行処理の使い分け
  • 1