mirror of
https://github.com/taigrr/nats.docs
synced 2025-01-18 04:03:23 -08:00
updating docs
This commit is contained in:
@@ -2388,7 +2388,7 @@
|
||||
|
||||
|
||||
<div class="tab__content">
|
||||
<pre id="drain_conn_go_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/go-nats-examples/blob/master/api-examples/drain_conn/main.go#L12-61"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-go">wg <span class="token operator">:=</span> sync<span class="token punctuation">.</span>WaitGroup<span class="token punctuation">{</span><span class="token punctuation">}</span>
|
||||
<pre id="drain_conn_go_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/go-nats-examples/blob/master/api-examples/drain_conn/main.go#L12-64"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-go">wg <span class="token operator">:=</span> sync<span class="token punctuation">.</span>WaitGroup<span class="token punctuation">{</span><span class="token punctuation">}</span>
|
||||
wg<span class="token punctuation">.</span><span class="token function">Add</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span>
|
||||
|
||||
errCh <span class="token operator">:=</span> <span class="token function">make</span><span class="token punctuation">(</span><span class="token keyword">chan</span> <span class="token builtin">error</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span>
|
||||
@@ -2409,15 +2409,18 @@ nc<span class="token punctuation">,</span> err <span class="token operator">:=</
|
||||
log<span class="token punctuation">.</span><span class="token function">Fatal</span><span class="token punctuation">(</span>err<span class="token punctuation">)</span>
|
||||
<span class="token punctuation">}</span>
|
||||
|
||||
<span class="token comment">// Just to not collide using the demo server with other users.</span>
|
||||
subject <span class="token operator">:=</span> nats<span class="token punctuation">.</span><span class="token function">NewInbox</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
|
||||
<span class="token comment">// Subscribe, but add some delay while processing.</span>
|
||||
<span class="token keyword">if</span> <span class="token boolean">_</span><span class="token punctuation">,</span> err <span class="token operator">:=</span> nc<span class="token punctuation">.</span><span class="token function">Subscribe</span><span class="token punctuation">(</span><span class="token string">"foo"</span><span class="token punctuation">,</span> <span class="token keyword">func</span><span class="token punctuation">(</span><span class="token boolean">_</span> <span class="token operator">*</span>nats<span class="token punctuation">.</span>Msg<span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
<span class="token keyword">if</span> <span class="token boolean">_</span><span class="token punctuation">,</span> err <span class="token operator">:=</span> nc<span class="token punctuation">.</span><span class="token function">Subscribe</span><span class="token punctuation">(</span>subject<span class="token punctuation">,</span> <span class="token keyword">func</span><span class="token punctuation">(</span><span class="token boolean">_</span> <span class="token operator">*</span>nats<span class="token punctuation">.</span>Msg<span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
time<span class="token punctuation">.</span><span class="token function">Sleep</span><span class="token punctuation">(</span><span class="token number">200</span> <span class="token operator">*</span> time<span class="token punctuation">.</span>Millisecond<span class="token punctuation">)</span>
|
||||
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> err <span class="token operator">!=</span> <span class="token boolean">nil</span> <span class="token punctuation">{</span>
|
||||
log<span class="token punctuation">.</span><span class="token function">Fatal</span><span class="token punctuation">(</span>err<span class="token punctuation">)</span>
|
||||
<span class="token punctuation">}</span>
|
||||
|
||||
<span class="token comment">// Publish a message</span>
|
||||
<span class="token keyword">if</span> err <span class="token operator">:=</span> nc<span class="token punctuation">.</span><span class="token function">Publish</span><span class="token punctuation">(</span><span class="token string">"foo"</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token function">byte</span><span class="token punctuation">(</span><span class="token string">"hello"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> err <span class="token operator">!=</span> <span class="token boolean">nil</span> <span class="token punctuation">{</span>
|
||||
<span class="token keyword">if</span> err <span class="token operator">:=</span> nc<span class="token punctuation">.</span><span class="token function">Publish</span><span class="token punctuation">(</span>subject<span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token function">byte</span><span class="token punctuation">(</span><span class="token string">"hello"</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> err <span class="token operator">!=</span> <span class="token boolean">nil</span> <span class="token punctuation">{</span>
|
||||
log<span class="token punctuation">.</span><span class="token function">Fatal</span><span class="token punctuation">(</span>err<span class="token punctuation">)</span>
|
||||
<span class="token punctuation">}</span>
|
||||
|
||||
@@ -2607,7 +2610,7 @@ nc<span class="token punctuation">.</span><span class="token function">close</sp
|
||||
|
||||
|
||||
<div class="tab__content">
|
||||
<pre id="drain_sub_go_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/go-nats-examples/blob/master/api-examples/drain_sub/main.go#L13-67"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-go">
|
||||
<pre id="drain_sub_go_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/go-nats-examples/blob/master/api-examples/drain_sub/main.go#L13-70"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-go">
|
||||
nc<span class="token punctuation">,</span> err <span class="token operator">:=</span> nats<span class="token punctuation">.</span><span class="token function">Connect</span><span class="token punctuation">(</span><span class="token string">"demo.nats.io"</span><span class="token punctuation">)</span>
|
||||
<span class="token keyword">if</span> err <span class="token operator">!=</span> <span class="token boolean">nil</span> <span class="token punctuation">{</span>
|
||||
log<span class="token punctuation">.</span><span class="token function">Fatal</span><span class="token punctuation">(</span>err<span class="token punctuation">)</span>
|
||||
@@ -2622,8 +2625,11 @@ nc<span class="token punctuation">.</span><span class="token function">close</sp
|
||||
|
||||
msgAfterDrain <span class="token operator">:=</span> <span class="token string">"not this one"</span>
|
||||
|
||||
<span class="token comment">// Just to not collide using the demo server with other users.</span>
|
||||
subject <span class="token operator">:=</span> nats<span class="token punctuation">.</span><span class="token function">NewInbox</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
|
||||
<span class="token comment">// This callback will process each message slowly</span>
|
||||
sub<span class="token punctuation">,</span> err <span class="token operator">:=</span> nc<span class="token punctuation">.</span><span class="token function">Subscribe</span><span class="token punctuation">(</span><span class="token string">"updates"</span><span class="token punctuation">,</span> <span class="token keyword">func</span><span class="token punctuation">(</span>m <span class="token operator">*</span>nats<span class="token punctuation">.</span>Msg<span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
sub<span class="token punctuation">,</span> err <span class="token operator">:=</span> nc<span class="token punctuation">.</span><span class="token function">Subscribe</span><span class="token punctuation">(</span>subject<span class="token punctuation">,</span> <span class="token keyword">func</span><span class="token punctuation">(</span>m <span class="token operator">*</span>nats<span class="token punctuation">.</span>Msg<span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
<span class="token keyword">if</span> <span class="token function">string</span><span class="token punctuation">(</span>m<span class="token punctuation">.</span>Data<span class="token punctuation">)</span> <span class="token operator">==</span> msgAfterDrain <span class="token punctuation">{</span>
|
||||
errCh <span class="token operator"><-</span> fmt<span class="token punctuation">.</span><span class="token function">Errorf</span><span class="token punctuation">(</span><span class="token string">"Should not have received this message"</span><span class="token punctuation">)</span>
|
||||
<span class="token keyword">return</span>
|
||||
@@ -2637,7 +2643,7 @@ nc<span class="token punctuation">.</span><span class="token function">close</sp
|
||||
|
||||
<span class="token comment">// Send 2 messages</span>
|
||||
<span class="token keyword">for</span> i <span class="token operator">:=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator"><</span> <span class="token number">2</span><span class="token punctuation">;</span> i<span class="token operator">++</span> <span class="token punctuation">{</span>
|
||||
nc<span class="token punctuation">.</span><span class="token function">Publish</span><span class="token punctuation">(</span><span class="token string">"updates"</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token function">byte</span><span class="token punctuation">(</span><span class="token string">"hello"</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
|
||||
nc<span class="token punctuation">.</span><span class="token function">Publish</span><span class="token punctuation">(</span>subject<span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token function">byte</span><span class="token punctuation">(</span><span class="token string">"hello"</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
|
||||
<span class="token punctuation">}</span>
|
||||
|
||||
<span class="token comment">// Call Drain on the subscription. It unsubscribes but</span>
|
||||
@@ -2647,7 +2653,7 @@ nc<span class="token punctuation">.</span><span class="token function">close</sp
|
||||
<span class="token punctuation">}</span>
|
||||
|
||||
<span class="token comment">// Send one more message, this message should not be received</span>
|
||||
nc<span class="token punctuation">.</span><span class="token function">Publish</span><span class="token punctuation">(</span><span class="token string">"updates"</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token function">byte</span><span class="token punctuation">(</span>msgAfterDrain<span class="token punctuation">)</span><span class="token punctuation">)</span>
|
||||
nc<span class="token punctuation">.</span><span class="token function">Publish</span><span class="token punctuation">(</span>subject<span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token function">byte</span><span class="token punctuation">(</span>msgAfterDrain<span class="token punctuation">)</span><span class="token punctuation">)</span>
|
||||
|
||||
<span class="token comment">// Wait for the subscription to have processed the 2 messages.</span>
|
||||
done<span class="token punctuation">.</span><span class="token function">Wait</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
@@ -2799,7 +2805,7 @@ nc<span class="token punctuation">.</span><span class="token function">flush</sp
|
||||
<script>
|
||||
var gitbook = gitbook || [];
|
||||
gitbook.push(function() {
|
||||
gitbook.page.hasChanged({"page":{"title":"Draining Messages Before Disconnect","level":"3.5.8","depth":2,"next":{"title":"Structured Data","level":"3.5.9","depth":2,"path":"developer/receiving/structure.md","ref":"developer/receiving/structure.md","articles":[]},"previous":{"title":"Queue Subscriptions","level":"3.5.7","depth":2,"path":"developer/receiving/queues.md","ref":"developer/receiving/queues.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"developer/receiving/drain.md","mtime":"2019-06-07T14:58:27.245Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-06-27T18:05:07.318Z"},"basePath":"../..","book":{"language":""}});
|
||||
gitbook.page.hasChanged({"page":{"title":"Draining Messages Before Disconnect","level":"3.5.8","depth":2,"next":{"title":"Structured Data","level":"3.5.9","depth":2,"path":"developer/receiving/structure.md","ref":"developer/receiving/structure.md","articles":[]},"previous":{"title":"Queue Subscriptions","level":"3.5.7","depth":2,"path":"developer/receiving/queues.md","ref":"developer/receiving/queues.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"developer/receiving/drain.md","mtime":"2019-06-07T14:58:27.245Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-06-28T23:37:18.980Z"},"basePath":"../..","book":{"language":""}});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user