タグ

2021年5月10日のブックマーク (42件)

  • unicornでダウンタイムなしに再起動する - rochefort's blog

    ダウンタイム無しってすごい。 でも、そんな実行環境は今のところ必要ないので monitの監視程度まで試したら、passengerに移行するやもしれません。 USR2時に旧プロセスを停止する 設定 ruby/1.9.1/gems/unicorn-4.1.1/examples/unicorn.conf.rb や unicorn.conf.rb にサンプルがありますが before_forkというcallbackが使えて、下記のように旧プロセスに対してシグナルを発行することが可能です。 old_pid = "#{server.config[:pid]}.oldbin" if old_pid != server.pid begin sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU Process.kill(sig, F

    unicornでダウンタイムなしに再起動する - rochefort's blog
    fuyu77
    fuyu77 2021/05/10
  • AWSでメール非同期処理

    fuyu77
    fuyu77 2021/05/10
  • メール配信基盤のモニタリングと障害リカバリーについて - 一休.com Developers Blog

    この記事は一休.comアドベントカレンダー2017の5日目です。 宿泊事業部 Platformチーム*1の id:minato128 です。今年一休ではクラウド移行に伴い、メール配信の仕組みを大きく変えました。詳しくは一休✕bitFlyer C#をつかったサービス開発の裏側でお話したスライドがこちらにありますので、興味のある方はご覧ください。 新メール配信基盤への移行 /ikyu-mail-platform // Speaker Deck さて、宿泊予約やレストラン予約のサービスを提供している一休では、メールをユーザーに届けることはとても大切です。特に予約完了メールが届かなかった場合、(メール以外の確認方法もあるとはいえ)予約が取れたことに気づかず、最悪ユーザーが2重に予約をしてしまう可能性もあります。*2 そこでメールを届けるために、どのようにメール配信基盤のモニタリングや障害が起きたと

    メール配信基盤のモニタリングと障害リカバリーについて - 一休.com Developers Blog
    fuyu77
    fuyu77 2021/05/10
  • Homebrewにおけるlinkについて | クロジカ

    ホーム / ハック / Homebrewにおけるlinkについて

    Homebrewにおけるlinkについて | クロジカ
  • Rails error installing mysql2 (mysql2-0.3.20)

    I am trying to get a rails project up and running on my local machine. When I do bundle install Fetching mysql2 0.3.20 Installing mysql2 0.3.20 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/mac/.rvm/gems/ruby-2.3.1/gems/mysql2- 0.3.20/ext/mysql2 /Users/mac/.rvm/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20180707-33936-1toblx7.rb ex

    Rails error installing mysql2 (mysql2-0.3.20)
  • macでmysql2がbundle installできない時 - Qiita

    bundle installでmysql2をインストールしようとしたらエラーになったので解決策のメモ。 後にこの問題に関する記事はたくさん見つけられたのだが、自分なりに色々と調べたのでメモしておく。 各種バージョン macOS Mojave 10.14.6 Ruby 2.6.2 bundler 1.17.2 はじめに結論 下記のいずれかを実行を実行した後にbundle installで解決。 macOSが新しい場合(macOS Mojave 10.14.6で確認)は下記実行。

    macでmysql2がbundle installできない時 - Qiita
  • Amazon DynamoDBにEvent Webhookのイベントデータを保存する方法 | SendGridブログ

    サポートエンジニアの佐藤(@awwa500)です。ブログではこれまで、Event Webhookのイベントデータを保存する方法をいくつかご紹介してきました。今回は、AWSを使ったイベントデータの保存方法の一つとして、Amazon DynamoDBを利用する方法をご紹介します。 構成 以下の構成でイベントデータをDynamoDBに保存します。 各サービスが担う役割とポイントとなる設定について以下にまとめます。設定手順の都合上、図の右端から順に解説していきます。 DynamoDB イベントデータの保存先となるデータベースです。プライマリキーを「sg_event_id(文字列)」とする以外、設定は任意です。sg_event_id以外の項目はデータ保存時に自動的に作成されます。他に、検索条件に応じてセカンダリインデックスを設定しておくことをお勧めします。 AWS Lambda API Gatew

    Amazon DynamoDBにEvent Webhookのイベントデータを保存する方法 | SendGridブログ
  • クライアントレスポンスとエラーをスタブ - AWS SDK for Ruby

    翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。 AWS SDK for Ruby アプリケーションでクライアントレスポンスとクライアントエラーをスタブする方法を学習します。 クライアントレスポンスをスタブする レスポンスをスタブすると、AWS SDK for Ruby は、ネットワークトラフィックを無効にし、クライアントはスタブされた (または疑似) データを返します。スタブされたデータを指定しない場合、クライアントは次のように返します。

    fuyu77
    fuyu77 2021/05/10
  • PartyIX

    言いたいことはタイトルの通り. まずRDSにはPerformance Ingishtsというものがある.これは今までのRDSのMonitoringに加えて,もっと詳細なクエリ等の情報までが見える分析ツールである. www.youtube.com これは AWS RDSによって提供されている機能である. 対して,Performance Schemaというのは MySQLで提供されている機能であり,MySQLサーバのモニタリングのための機能である. 通常のMySQLサーバであれば,管理者が [mysqld] performance_schema=ON こういう設定を書くことで有効化できる. 名前が似ていてややこしいので,performance_schema と書くことにする. さて,こいつをAWS RDSでどうやって有効化するのかという話である. デフォルトではperformance_sche

    PartyIX
    fuyu77
    fuyu77 2021/05/10
  • Sidekiqの仕組み - 日々コツコツと

    Railsのジョブキューのgemで有名なSidekiq。 どのように動いているかよくわかっていないので調べてみた。 エンキュー ActibeJob.perform_later キューに入れたい処理はActiveJob::Baseを拡張したクラスのperformメソッドに実装し、 perform_laterを呼び出すと、エンキューの処理が走る。 Class SampleJob < ActiveJob::Base def perform p "Hello!" end end ... SampleJob.perform_later queue_adapter.enqueue perform_laterは ActiveJob.queue_adapter に設定されているオブジェクトの enqueue にjobインスタンスを投げます。 queue_adapterの設定はデフォルトでは、 :async

    Sidekiqの仕組み - 日々コツコツと
  • Sidekiq の Server プロセス内でバックグラウンド処理をするケースの手法を見てみた - Qiita

    Sidekiq の Server プロセス内でバックグラウンド処理をするとは Sidekiq は Client Side (Worker#perform_asyn を呼び出す方) と Server Side (スレッドベースで動作し Worker#perform を実行する方) の 2 つで構成されています。 Server Side の方はそれ自身がプロセスとして動作しており、そのプロセス内でさらにバックグラウンド処理を行っている拡張がいくつか存在します。 私が知るものの多くは「定期実行」と「cron のようなスケジュール」に関するものです。 ここでは、それらの拡張を見ていきながら、どういう手法でバックグラウンド処理を実施しているのかを見ていきます。 cron 処理に関するもの Sidekiq 家としては Ent Periodic Jobs - sidekiq wiki 上記の Ente

    Sidekiq の Server プロセス内でバックグラウンド処理をするケースの手法を見てみた - Qiita
  • ActiveJobでワーカープロセスを立ち上げない非同期処理

    候補としては以下の通り Sucker Punch gem 恐らくこれが一番手堅い選択肢 config.active_job.queue_adapter = :async 手法としてはSucker Puhchと恐らく同じ gemを入れなくて済む 番環境では非推奨とコードに書いてあるらしい(未確認) https://dev-pupuboku.hatenablog.com/entry/2020/01/01/102415 config.active_job.queue_adapter = :inline もうこれでいいんじゃないか? 当に非同期でやっているかは不明。要確認 「ワーカープロセスを立ち上げない非同期処理」は上記の通り問題なく実現可能な様だが、 proc/consはきちんと理解する必要がある。 proc 環境構築が楽 ワーカプロセスが不要 永続化のための仕組みが不要(redis/rd

    ActiveJobでワーカープロセスを立ち上げない非同期処理
    fuyu77
    fuyu77 2021/05/10
  • 非同期メッセージングでSQSを使う際に検討したこと

    背景と目的 マイクロサービス間で非同期メッセージングを実現するために、いくつかメッセージブローカーとしての選択肢があります。例えばAWSのサービスだとSQS, Kinensis, MKSなどが挙げられます。 今回はSQSがサービス間の非同期メッセージングを実現するために利用できるかを調査した時の観点をまとめました。 概要 まず非同期メッセージングの概要を整理します。 非同期メッセージングの役割 ネットワークを介してプロセス間でメッセージを送受信するには、同期的な通信と非同期的な通信があります。 同期的な通信はクライアントがリクエストを発行し、レスポンスを待つという形式になります。 リクエスト先のサービスが対応可能である必要がある レスポンスが返ってくるまでブロッキングされる すぐにリクエストが処理される リクエスト先のサービスの呼び出し方を知る必要がある 非同期的な通信はプロデューサー(あ

    非同期メッセージングでSQSを使う際に検討したこと
    fuyu77
    fuyu77 2021/05/10
  • Node.jsでメール送信!Twilio SendGridを使って簡単に実装する方法 | SendGridブログ

    Node.jsでメール送信! Twilio SendGridを使って簡単に実装する方法 2024年5月9日 by SendGrid Category: 技術ネタ 機能・使い方 ツイート はじめに 今回はNode.jsからTwilio SendGrid公式ライブラリを使ってメールを送信する方法をサンプルコードを交えながらご紹介します。メール文面(件名、文)への文字列埋め込み、日語、添付ファイルなどを利用しています。 前提条件 サンプルコードを試す前に以下の環境のセットアップを完了しておいてください。 Node.js 20.x npm(Node.jsに同梱) git SendGridアカウント(送信元ドメインまたはメールアドレスでDomain Authentication または Single Sender Verificationを設定したアカウント) 記事の内容はLinux(Debi

    Node.jsでメール送信!Twilio SendGridを使って簡単に実装する方法 | SendGridブログ
  • Railsでのバックグラウンド処理を考える - ANDPAD Tech Blog

    こんにちはCDOの山下です。 今回は、新規サービス開発にあたりRailsのバックグラウンド処理について考えることがあったので記事にしようと思います。 現状のRails環境下でのバックグラウンドジョブ Railsでバックグラウンドジョブを扱うといえばresqueやsidekiqが有名で多くのサービスでも実運用で使われていると思います。弊社の主力であるANDPADでもサービス開始当初からsidekiqが使われてきましたが、Redisを仲介してジョブを処理するサーバーをアプリケーションサーバーとは別で運用する必要がありサービス規模が大きくなるにつれてインフラ管理コストが負担になってきました。 図1:sidekiqのインフラ構成 主な利用用途としては、以下に上げるようなもので、数10msecで終わるようなものから数時間単位で終わるものまで様々な処理がバックグラウンドジョブに放り込まれています。 主

    Railsでのバックグラウンド処理を考える - ANDPAD Tech Blog
  • Sidekiqの導入からECSデプロイまで

    概要 Sidekiqを導入する際に最低限必要な作業をまとめてみました 背景 メール送信のように時間がかかる処理や、重たい処理を分割して並列実行したいときに非同期ジョブを使いたくなることがありますよね。 RailsにはActiveJobというジョブ管理のAPIが用意されていますので、これを使わない手はないです。 Railsガイドのジョブを実行するに書かれている通り、番環境で使うには何らかのキューイングバックエンドが必要です。 production環境でのジョブのキュー登録と実行では、キューイングのバックエンドを用意しておく必要があります。具体的には、Railsで使うべきサードパーティのキューイングライブラリを決める必要があります。 Rails自身が提供するのは、ジョブをメモリに保持するインプロセスのキューイングシステムだけです。 プロセスがクラッシュしたりコンピュータをリセットしたりすると

    Sidekiqの導入からECSデプロイまで
  • Sidekiqが動く仕組みについて - UUUMエンジニアブログ

    UUUMに入社して1年が経ったエンジニアの北畠です。 Railsも使い始めてもう半年経ちました。 そこで、Railsのジョブキューのgemで有名なSidekiq。 UUUMのプロダクトでもかなり使っているんですが、 どのように動いているかよくわかっていないので調べてみました。 基的な使い方は Getting Started · mperham/sidekiq Wiki · GitHub から まずはエンキュー ActibeJob.perform_later キューに入れたい処理はActiveJob::Baseを拡張したクラスのperformメソッドに実装し、 perform_laterを呼び出すと、エンキューの処理が走る。 Class SampleJob < ActiveJob::Base def perform p "Hello!" end end ... SampleJob.perf

    Sidekiqが動く仕組みについて - UUUMエンジニアブログ
  • Railsで非同期処理:キュー。Sidekiq(+ActiveJob)がResqueよりも、とても簡単便利。 - Qiita

    Railsで非同期処理:キュー。Sidekiq(+ActiveJob)がResqueよりも、とても簡単便利。RubyRailsResquesidekiqActiveJob メール送信や、重い処理、バッチなどでキューイングってよくやると思うんですが、Rubyではそれらを簡単に実現できるライブラリがいくつかあります。有名所だと、Sidekiq / Resque / Delayed Jobとか。僕はSidekiq / Resqueこの2つを使ったことがあるんですが…最近ではSidekiqの方が設定も簡単で使いやすかったので、Sidekiqにまつわる設定などもろもろまとめておきます。 ActiveJobについて Rails4.2からActiveJobというキュー操作のフレームワークが導入されました。これを使用することで、書き方が統一されるため、バックグラウンドのキューライブラリがSidekiqだろ

    Railsで非同期処理:キュー。Sidekiq(+ActiveJob)がResqueよりも、とても簡単便利。 - Qiita
  • SidekiqはRedisに何を書き込んでいるのか - Qiita

    動機 Sidekiqのジョブを定期的に実行したい場合、crontabでrails runner 'MyWorker.perform_async'みたいなプロセスを起動するケースが多いと思いますが、crontabを実行するサーバがSPOFになってしまったりと、運用上悩ましい点があります。 そこで、AWS環境を前提として、 CloudWatch Events -> Lambda(Python) -> Redis -> Sidekiq という具合に、サーバーレスな仕組みを構築することを考えました。 その過程で、「Redisに何を書き込めばSidekiqがdequeueしてくれるのか?」、という点を解明する必要があったので、Sidekiqを動かしながら実際にRedisの中身を覗いてみました。 なお、言語によってはSidekiq互換のクライアントライブラリが存在するので、それらを利用するのが早いと思

    SidekiqはRedisに何を書き込んでいるのか - Qiita
  • 【Active Job】shoryuken + Amazon SQSを動かしてみた

    Railsの非同期処理をActive Job + shoryuken + SQSで実装したのでメモを残します。 ※RailsアプリケーションはDocker環境で構築済みの前提です。環境構築はこちら。 ※Active Jobとバックエンドの比較はこちら。 環境 Ruby 2.7.2 Rails 6.0.3.4 MySQL 8.0.20 shoryuken 5.0.5 Docker version 19.03.13 1. SQSの設定 まずAWSコンソールにログインし、画面上でSQSの設定をしていきます。 Amazon Simple Queue Service (SQS) は、完全マネージド型のメッセージキューイングサービスです。 画面や設定等は2020/11時点のものです。 キューを作成します。 ここでSQSの詳細な設定は割愛しますが、要件に応じて様々な設定はできそうです。 キューの名前だけ

    【Active Job】shoryuken + Amazon SQSを動かしてみた
    fuyu77
    fuyu77 2021/05/10
  • AWS をどう使わずにおくか - portal shit!

    ジョブキューイングシステムをどうするかでチームのリーダーとやりあって考えたことがあるのでまとめておく。 Rails で使うジョブキューイングシステムの技術選定で、リーダーは Amazon SQS 推し(レガシーシステムで SQS を使っている)、自分は Sidekiq 推しだった。前職時代に Sidekiq を使ってトラブルに遭遇したことはなかったし、とても簡単に使えるので Sidekiq で十分だと思っていた。 Sidekiq は GitHub でのスター数は 9000 オーバーで、 Rails の ActiveJob バックエンドとしては事実上のデファクトスタンダードだといえると思う。ググれば情報がいっぱい出てくるし、チームメンバーもリーダー以外は全員 Sidekiq の使用経験があった。 GitHub - sidekiq/sidekiq: Simple, efficient back

    AWS をどう使わずにおくか - portal shit!
    fuyu77
    fuyu77 2021/05/10
  • Sidekiq Enterpriseを使う - Studyplus Engineering Blog

    お久しぶりです。サーバーサイドエンジニアの花井です。 みなさんは非同期処理に何をお使いですか? ActiveJobでしょうか? Resqueでしょうか? Sidekiqでしょうか? 弊社では歴史的経緯から、上記全てのgemをプロダクトで使っていますが、 この度Sidekiq Enterpriseを導入して非同期処理の統一に着手しました。 Sidekiq Enterpriseの日語記事があまりなかったので、利用の検討や実際に使う際の注意点などを紹介できればと思います。 What is Sidekiq SidekiqはRuby製の非同期処理フレームワークです。 resqueを使うと、ジョブのリトライとユニーク性の担保のために自前で実装が必要でつらいので、sidekiqの採用に至りました。 また、非同期処理の流量を制限したい(特に外部サービスへの問い合わせが発生する所)という意図があり、Ent

    Sidekiq Enterpriseを使う - Studyplus Engineering Blog
  • Rails+Sidetiqでお手軽定時処理 on Heroku(無料!) - 株式会社CFlatの明後日スタイルのブログ

    Railsで定時処理をやろうと思って色々トライしました。Sidekiq+Sidetiqを使ってHerokuの無料分で動作させることができたのでその手順を紹介します。 Railsでの非同期処理 古いものから新しいものまでいろいろ選択肢があります。 collectiveidea/delayed_job resque/resque mperham/sidekiq そしてRails4.2で実装される(された)ActiveJobというアダプタのような仕組みがあります。 以前開発したのアプリケーションではResqueを使っていたことと、3つのgemのなかではSidekiqが一番新しいということでSidekiqを使いました。 Sidekiqでの定時処理 来Sidekiqは非同期処理のためのgemなので、Sidekiq単体では定期的に処理を実行するような仕組みはありません。X時間後に実行とかはありますが

    Rails+Sidetiqでお手軽定時処理 on Heroku(無料!) - 株式会社CFlatの明後日スタイルのブログ
    fuyu77
    fuyu77 2021/05/10
  • Getting Started

    fuyu77
    fuyu77 2021/05/10
  • shoryuken gemで簡単にSQSを使ったJob Queue WorkerをRailsに作成する | DevelopersIO

    丹内です。 掲題のとおり、SQSを簡単に使うことができるshoryuken gemを使ってみました。 前提 ruby 2.2.4 rails 4.2.5 マネジメントコンソールでSQSの作成 AWSマネジメントコンソールのSQS画面から新規にキューを作成します。 Shoryukenによる負荷が抑えられるよう、Receive Message Wait Timeの設定を忘れないようにしてください。 インストール Gemfileに以下のように書いてbundle installします。 gem 'shoryuken' group :development, :test do gem 'foreman' end あとで解説しますが、railsアプリとは別にworkerプロセスも立ち上げるので、便利になるようforemn gemもインストールしています。 Jobクラスを作成 Shoryuken::Wo

    shoryuken gemで簡単にSQSを使ったJob Queue WorkerをRailsに作成する | DevelopersIO
    fuyu77
    fuyu77 2021/05/10
  • shoryukenの諸動作 - PartyIX

    Railsの非同期処理として、今までDelayedJobで運用していたものを、shoryukenに載せ替えたので、使い勝手をまとめます。 最初はsidekiqにしようと思っていたので、ちょいちょいsidekiqとの比較が出てきます。 メッセージのポーリング メッセージのポーリング間隔はshoryuken.ymlで設定します。ちなみに、ここのポーリング間隔と、エンキューされるキューの合計数でSQSの料金が変わってくるみたい。ただ、SQSの料金プランによると100万件ごとに課金されるので、そこまでシビアに考える必要はなさそうだけれど。 :delay: 25 # 単位は秒 以下のようにしておくと、リクエストを投げ続けてくれる。 :delay: 0 ちなみに、このdelay値は、エンキューされてから、処理が開始されるまでの時間にモロに響いてくるので、もし「即時送らねば!」という処理を積みたい場合は

    shoryukenの諸動作 - PartyIX
    fuyu77
    fuyu77 2021/05/10
  • Rails 非同期で処理を実行する方法(Sidekiq, Resque, Delayed Job, Active Job比較) - Shred IT!!!!

    概要 Rails で WEB 画面からのキックでジョブをバックグラウンドで実行するときどうするか。 例えば、メール送信・画像変換・CSVアップロードによる大量SQL実行など。 そんなときはバックグラウンドで非同期にジョブを実行してくれる便利な gem がある。 ruby-rails.hatenadiary.com このサイトで丁寧に説明してくれてます。 代表的だと言われている下記3つについて、それぞれ実装して使い心地を比較する。 Sidekiq: mperham/sidekiq · GitHub Resque: resque/resque · GitHub Delayed Job: collectiveidea/delayed_job · GitHub それと上記サイトで書かれている Active Job これの使い勝手も試してみる。 それぞれの gem について、もっと詳しく知りたい方は

    Rails 非同期で処理を実行する方法(Sidekiq, Resque, Delayed Job, Active Job比較) - Shred IT!!!!
  • 最小構成サーバーでは負荷に耐えられなくなってきたので、SidekiqのJob処理を別サーバーに移動した - Let's write β

    背景 調査手順 CPU負荷の確認 sarでCPU負荷の内訳を確認 topで負荷の高いユーザープロセスの概要を把握 psでユーザープロセスの詳細を把握 対応手順 Job処理をバッチサーバーに移動 ソースコードをバッチサーバにもデプロイ Wheneverによるcrontabの登録をバッチサーバーのみにする Redisをバッチサーバに移動 Sidekiqをバッチサーバー上でのみ実施する Fluentdをバッチサーバーにインストール バッチサーバーをスケールアップ 結果 CloudWatchで監視 実施直後ロードアベレージが一気に低下 サービス時間帯中もロードアベレージが異常増が解決 レスポンスタイムの上昇も解決 バッチサーバーのインスタンスタイプは妥当かどうか? 今後の検討事項 デプロイをDocker化 背景 サービスが成長しのユーザー数が増加してきたことによって、初期のサーバーの最小構成では

    最小構成サーバーでは負荷に耐えられなくなってきたので、SidekiqのJob処理を別サーバーに移動した - Let's write β
    fuyu77
    fuyu77 2021/05/10
  • Shoryukenでつくるバッチ処理基盤 - トレタ開発者ブログ

    トレタのAPI開発を担当している芹沢です。 トレタでは、長時間かかるバッチ処理を複数台のサーバ上で処理させて短時間で処理できるバッチ処理基盤をAWS上で構築しました。この仕組みについて説明します。 目的 短期的には以下の課題を解決するため、長期的には似たような要件が再度発生した時に、同じ手法で解決できることを目的に作りました。 非同期でDBをデータソースとしたデータを加工してCSVファイルとして出力してS3にputしたい データソースはDBに入っているリアルタイムのデータであることが求められる CSVファイルの作成は決められた時間内に完了する必要がある 対象となるデータソースの量は日々増加し続けるが、常に決められた時間内にCSV作成が完了している必要がある 難点 今回の要件で技術的に難しい点は以下の2点です。 DBを直接参照しながら大量のデータを処理する 例えば、データソースとしてDBから

    Shoryukenでつくるバッチ処理基盤 - トレタ開発者ブログ
    fuyu77
    fuyu77 2021/05/10
  • GitHub - ruby-shoryuken/shoryuken: A super efficient Amazon SQS thread based message processor for Ruby

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - ruby-shoryuken/shoryuken: A super efficient Amazon SQS thread based message processor for Ruby
    fuyu77
    fuyu77 2021/05/10
  • GitHub - sidekiq/sidekiq: Simple, efficient background processing for Ruby

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - sidekiq/sidekiq: Simple, efficient background processing for Ruby
    fuyu77
    fuyu77 2021/05/10
  • ポピンズシッター

    ※国指定研修未受講シッターは2000円となります。 ※未就学の場合は非課税、小学生以上は税込料金となります。

    ポピンズシッター
    fuyu77
    fuyu77 2021/05/10
  • [Rails] Sidekiq の Worker で Amazon SQS のメッセージを処理する | DevelopersIO

    Amazon SQS のメッセージを処理する際、Worker を使って行うことが多いかと思います。 Rails で非同期処理を実現する方法の 1 つとして sidekiq という gem がありますが、 今回この sidekiq の Worker を使って SQS のメッセージを処理してみたいと思います。 必要な gem の追加 Rails プロジェクトを作り、Gemfile を編集します。 source 'https://rubygems.org' gem 'rails', '4.1.2' gem 'sidekiq' gem 'aws-sdk-core' gem 'settingslogic' 必要最低限の指定です。 aws-sdk はバージョン 2 系を使ってます。http://aws.amazon.com/jp/sdkforruby/ settingslogic は定数管理の gem

    [Rails] Sidekiq の Worker で Amazon SQS のメッセージを処理する | DevelopersIO
  • AWS SQS + Lambda + SES でメール送信システムを作る - 小さなエンドウ豆

    AWS SQS + Lambda + SES でメール送信システムを作る Web サービスを運営しているとメールを送信したいタイミングが山程あります。 例えば、ユーザーの新規登録時、定期的に送信するメルマガ用途は多岐に渡ります。 メール送信の仕組みをモノリシックにサービスの一部として組み込むとパフォーマンスが低下してしまう恐れがあります。 そこでどのような設計にすれば悩んでいたところ、SQS をすすめられてため調査してみました。 また SESSNS としった AWS による通知系のサービスと連携されることで完全マネージドな通知サービスとして構築を目指します。 Amazon Simple Queue Service(SQS) 名前の通りキューイングのサービスです。 キューには 2 種類あり、標準キューと FIFO キューが選べます。 2 つの違いは配信の順序です。 標準キューの配信順序

    AWS SQS + Lambda + SES でメール送信システムを作る - 小さなエンドウ豆
  • Ruby on Railsでメール送信 - ドキュメント | SendGrid

    以下の例ではユーザのサインアップのためにメールを利用する方法を示します。より高度な機能を実現するためにこちらのgem を利用することも可能です。 ActionMailerのセットアップ mailerクラスを生成します。mailerクラスはメールViewのコントローラとして機能します。

  • SendGrid利用時のエラー処理のベストプラクティス | SendGridブログ

    サポートエンジニアの佐藤(@awwa500)です。アプリケーションからSendGridを使ってメールを送る場合、さまざまな原因によって発生するエラーを適切に処理することは運用上重要です。特に気をつけたいのは次の点を考慮してシステムを設計することです。 リクエストは失敗する 「リクエストの成功」=「メールが届いた」ということではない 問題に気づかなければ意味がない 今回は、こういった点を考慮した利用方法について詳しく見ていきます。 リクエストが失敗する前提で設計する 外部サービスへのリクエストが失敗することを前提にして、送信内容をログに残しいつでも再送できるようにしておきましょう。こうすることで、利用しているサービスの障害や途中のネットワーク障害にも対処できるようになります。 例えば、SendGridのAPIを利用してメール送信する場合、アプリケーションサーバとリクエスト処理サーバを分けて、

    SendGrid利用時のエラー処理のベストプラクティス | SendGridブログ
  • API Documentation & Design Tools for Teams | Swagger

    API Development forEveryone Simplify your API development with our open-source and professional tools, built to help you and your team efficiently design and document APIs at scale. Find your toolRead the docs Trusted by Empowering API Development Streamline your workflow with unparalleled API specification support Swagger places API specifications such as OpenAPI, AsyncAPI, and JSON Schema at the

    fuyu77
    fuyu77 2021/05/10
  • Create a Dynamic Email Subject Line with Mustache Templates

  • Ruby + Mustache で Hello World - Qiita

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- title を出力--> <title>{{title}}</title> </head> <body> <!-- mydata オブジェクトの message を出力--> <p>{{mydata.message}}</p> <p> <!-- ループ --> {{#mydata}} {{#list}} {{.}}<br> {{/list}} {{/mydata}} </p> <p> <!-- hoge が存在する場合に出力--> {{#mydata.hoge}} Hoge exists. {{/mydata.hoge}} </p> <p> <!-- fuga が存在しない場合に出力--> {{^mydata.fuga}} Fuga does not exists. {{/m

    Ruby + Mustache で Hello World - Qiita
    fuyu77
    fuyu77 2021/05/10
  • 本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita

    .bash_profile はログイン時にのみ実行されます。具体的な用途は: 環境変数を設定する (export する変数) 環境変数はプロセス間で勝手に受け継がれるのでログイン時のみ設定すれば十分です。 .bashrc は対話モードの bash を起動する時に毎回実行されます。具体的な用途は: 環境変数でない変数を設定する (export しない変数) エイリアスを定義する シェル関数を定義する コマンドライン補完の設定をする これらは bash を起動する度に毎回設定する必要があるものです。 その他 .bash_profile ? .bashrc ? いろいろあるけどこいつらなにもの? を参照。もっと突き詰めたい人は Linux: .bashrcと.bash_profileの違いを今度こそ理解する。 Bash 以外のシェルを使用しない人は .bash_profile と .bashrc

    本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita
    fuyu77
    fuyu77 2021/05/10
  • Slidev

    Presentation slides for developers

    Slidev
    fuyu77
    fuyu77 2021/05/10
  • はてなブックマーク経由PV黄金時代とFACTFULNESS - 本しゃぶり

    質問 はてなブックマーク経由のPV/ブクマ数の比率は、3年前と比べてどうなっているでしょう? A 減少している B 変わらない C 増加している 3年前はすごかった説 この記事に気になることが書いてあった。 それでも3年前なら150ブクマもついてたらさすがに5000pv~10000pvくらいは「はてブからだけで」流入があったりしたものです。 ところが、昨日書いた記事、内容の是非はともかくとして、はてなブックマークが150以上ついているのも関わらず、はてブ経由でのPVはわずか2000でした。 ブコメを見ても人が減っていることについて同意が多く、限界集落はてな村だから仕方ないといった雰囲気である。かつてあった、はてな黄金時代と比べて見る影もない、と。 黄金時代には、人間は神々と共に住み生きていた。「世の中」は調和と平和に満ち溢れて、争いも犯罪もなかった。あらゆるコンテンツが自動的に生成され、手

    はてなブックマーク経由PV黄金時代とFACTFULNESS - 本しゃぶり
    fuyu77
    fuyu77 2021/05/10
    はてブ経由のアクセス数は特に減ってない感触なので納得感ある。ただ、ブゴメの質は相当落ちてると思う。以前は参考になるフィードバックを読める印象だったけれど、今はタイトルしか読んでない罵倒コメントばかり。