Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/soartec-lab/rails_pub_sub
publish and subscribe in rails
https://github.com/soartec-lab/rails_pub_sub
Last synced: 15 days ago
JSON representation
publish and subscribe in rails
- Host: GitHub
- URL: https://github.com/soartec-lab/rails_pub_sub
- Owner: soartec-lab
- Created: 2020-03-14T13:01:22.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-19T17:54:00.000Z (almost 2 years ago)
- Last Synced: 2024-12-02T08:56:36.262Z (22 days ago)
- Language: Ruby
- Size: 1.07 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Summary
`ActiveSupport::Notifications`を使用して、RailsでPub/Subモデルパターンを実装するサンプル
# 使い方
## Subscriber`app/subscriber`ディレクトリを作成し、そこにsubscriberを作成
### sample_subscriber.rb
メッセージを受け取ったsample_subscriberは、railsログにイベント名と、引数を出力するだけ。
## Publisher
### 確認方法```
$ rails c
$ SampleSubscriber::Notifications.instrument('output_logger.sample.SampleSubscriber', "payload")```
メッセージの送信は、`instrument`メソッドで行います。
第一引数に、イベント名を指定し、第二引数に任意の引数を渡す事ができます。#### 特定の処理が終わった後にpublishしたい場合
```
SampleSubscriber::Notifications.instrument('output_logger.sample.SampleSubscriber', "payload") do
sleep 1
p 'hello'
sleep 1
end
```instrumentブロックの中に書いた処理が実行された後にpublishされます
# Document
See: https://edgeguides.rubyonrails.org/active_support_instrumentation.html