# \#book-concurrent-data-processing-in-elixir

**URL:** https://forum.devtalk.com/tag/book-concurrent-data-processing-in-elixir/1016.md

[Latest](https://forum.devtalk.com/latest.md) · [Categories](https://forum.devtalk.com/categories.md) · [Tags](https://forum.devtalk.com/tags.md)

---

## [Concurrent Data Processing in Elixir: Using a mapper operation after reduce/3 is deprecated (page 114)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-using-a-mapper-operation-after-reduce-3-is-deprecated-page-114/69728)

<div class="topic-metadata">

**Author:** [@sprite2005](https://forum.devtalk.com/u/sprite2005)\
**Replies:** 2\
**Last updated:** [21 March 2023 01:42 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-using-a-mapper-operation-after-reduce-3-is-deprecated-page-114/69728 "2023-03-21T01:42:34Z")

</div>

@svilen warning: Using a mapper operation, such as map/filter/reject, after reduce/3 is deprecated. Use Flow.on\_trigger/2 instead (flow 1.2.0) lib/flow.ex:1916: Flow.add\_mapper/3 (airports 0.1.0) lib/airports.ex:25: Ai…

---

## [Concurrent Data Processing in Elixir: invalid async\_stream description (page 29)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-invalid-async-stream-description-page-29/75749)

<div class="topic-metadata">

**Author:** [@Cichacz](https://forum.devtalk.com/u/Cichacz)\
**Replies:** 0\
**Last updated:** [28 September 2022 12:46 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-invalid-async-stream-description-page-29/75749 "2022-09-28T12:46:51Z")

</div>

@svilen The book says: Currently, async\_stream/3 assumes we want the results in the same order as they were originally. This order preservation can potentially slow down our processing, because async\_stream/3 will wai…

---

## [Concurrent Data Processing in Elixir: code snippet missing closing brace (page 83)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-code-snippet-missing-closing-brace-page-83/48670)

<div class="topic-metadata">

**Author:** [@markthequark](https://forum.devtalk.com/u/markthequark)\
**Replies:** 0\
**Last updated:** [6 April 2022 02:44 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-code-snippet-missing-closing-brace-page-83/48670 "2022-04-06T02:44:56Z")

</div>

@svilen def via(id) do {:via, Registry, {ProducerConsumerRegistry, id} end is missing a }. This is also the case in the downloadable code for scraper/lib/online\_page\_producer\_consumer.change1.ex.

---

## [Concurrent Data Processing in Elixir: Typo (86)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-typo-86/22210)

<div class="topic-metadata">

**Author:** [@pgeraghty](https://forum.devtalk.com/u/pgeraghty)\
**Replies:** 0\
**Last updated:** [21 September 2021 16:13 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-typo-86/22210 "2021-09-21T16:13:12Z")

</div>

@svilen Book version: P1.0 (August 2021) At the end of the definition of init, I believe GenStage.ParitionDispatcher should be GenStage.PartitionDispatcher. Great book! Apologies if this has already been reported.

---

## [Book Club - Concurrent Data Processing in Elixir](https://forum.devtalk.com/t/book-club-concurrent-data-processing-in-elixir/9627)

<div class="topic-metadata">

**Author:** [@mafinar](https://forum.devtalk.com/u/mafinar)\
**Replies:** 16\
**Last updated:** [3 April 2022 02:19 UTC](https://forum.devtalk.com/t/book-club-concurrent-data-processing-in-elixir/9627 "2022-04-03T02:19:46Z")

</div>

Concurrent Data Processing in Elixir is now content complete and I finally found the time I’ve been looking for to dedicate behind reading the latest Elixir books. The Programming Crystal book club proved to be as effect…

---

## [Concurrent Data Processing in Elixir: Page(72)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-page-72/26462)

<div class="topic-metadata">

**Author:** [@smahi](https://forum.devtalk.com/u/smahi)\
**Replies:** 0\
**Last updated:** [23 October 2021 15:38 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-page-72/26462 "2021-10-23T15:38:00Z")

</div>

Spining multiple PageConsumer using the book provided code, raise an error children = \[ PageProducer, Supervisor.child\_spec(PageConsumer, id: :consumer\_a), Supervisor.child\_spec(PageConsumer, id: :c…

---

## [Concurrent Data Processing in Elixir (PragProg)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-pragprog/6657)

<div class="topic-metadata">

**Author:** [@PragmaticBookshelf](https://forum.devtalk.com/u/PragmaticBookshelf)\
**Replies:** 23\
**Last updated:** [4 September 2021 12:35 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-pragprog/6657 "2021-09-04T12:35:42Z")

</div>

Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or fault-tolerance. Leverage concurrency by using OTP, GenStage, Flow, and Broadway t…

---

## [Concurrent Data Processing in Elixir: Chapter 2 Errata: GenServer.cast does not acknowledge (32)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-chapter-2-errata-genserver-cast-does-not-acknowledge-32/15751)

<div class="topic-metadata">

**Author:** [@axelson](https://forum.devtalk.com/u/axelson)\
**Replies:** 0\
**Last updated:** [2 August 2021 21:20 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-chapter-2-errata-genserver-cast-does-not-acknowledge-32/15751 "2021-08-02T21:20:22Z")

</div>

Hello Svilen Gospodinov @svilen, The book currently states: When using GenServer.cast/2, we always get :ok as a reply. In fact, the reply comes almost immediately. This simply means that the GenServer process has ac…

---

## [Get 50% off these PragProg books during our Think Again Sale](https://forum.devtalk.com/t/get-50-off-these-pragprog-books-during-our-think-again-sale/9523)

<div class="topic-metadata">

**Author:** [@Margaret](https://forum.devtalk.com/u/Margaret)\
**Replies:** 2\
**Last updated:** [11 May 2021 23:06 UTC](https://forum.devtalk.com/t/get-50-off-these-pragprog-books-during-our-think-again-sale/9523 "2021-05-11T23:06:15Z")

</div>

Think Again 50% Off Sale » The theme of this sale is new perspectives on familiar topics. Enter coupon code ThinkAgain2021 at checkout to save 50% on any of the following titles. Offer not valid for previous purchases.…

---

## [Concurrent Data Processing in Elixir: Typo 39](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-typo-39/8102)

<div class="topic-metadata">

**Author:** [@lancejjohnson](https://forum.devtalk.com/u/lancejjohnson)\
**Replies:** 1\
**Last updated:** [24 April 2021 18:02 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-typo-39/8102 "2021-04-24T18:02:51Z")

</div>

We need to considered three different outcomes s/considered/consider/

---

## [Concurrent Data Processing in Elixir: various errata](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-various-errata/6769)

<div class="topic-metadata">

**Author:** [@herminiotorres](https://forum.devtalk.com/u/herminiotorres)\
**Replies:** 13\
**Last updated:** [11 April 2021 17:34 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-various-errata/6769 "2021-04-11T17:34:47Z")

</div>

Hi @Margaret , On page VII the book tells us the example and snippets will be all using Elixir version 1.11 But on page 3 almost the end of the page when has a print of the IEx console, the version of the Elixir is 1.9…

---

## [Concurrent Data Processing in Elixir:147](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-147/8617)

<div class="topic-metadata">

**Author:** [@kunna](https://forum.devtalk.com/u/kunna)\
**Replies:** 0\
**Last updated:** [8 April 2021 14:05 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-147/8617 "2021-04-08T14:05:01Z")

</div>

On page 147. the book says “Using Task.async\_stream/3 is a great way to process large collections of data, and provide back-pressure at the same time.” but while using Task.async\_stream/3, I found some unexpected memory…

---

## [Concurrent Data Processing in Elixir: JobSupervisor does not go down (page 54)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-jobsupervisor-does-not-go-down-page-54/6870)

<div class="topic-metadata">

**Author:** [@kunna](https://forum.devtalk.com/u/kunna)\
**Replies:** 4\
**Last updated:** [21 March 2021 16:12 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-jobsupervisor-does-not-go-down-page-54/6870 "2021-03-21T16:12:43Z")

</div>

After finishing Chapter 2, Long-Running Processes Using GenServer, I was able to successfully run the code. but if I see the process observer, I can see the JobSupervisor processes still alive. Is this the expected behav…

---

## [Concurrent Data Processing In Elixir: Chapter 3 Errata](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-chapter-3-errata/7849)

<div class="topic-metadata">

**Author:** [@chriseyre2000](https://forum.devtalk.com/u/chriseyre2000)\
**Replies:** 1\
**Last updated:** [14 March 2021 19:51 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-chapter-3-errata/7849 "2021-03-14T19:51:56Z")

</div>

Towards the end of Chapter 3 (B2) the via function is implemented as: def via(id) do {{:via, Registry, {ProducerConsumerRegistry, id}}, \[\]} end However the app fails to start unless you change this to: def via(id) d…

---

## [Concurrent Data Processing in Elixir: type (3)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-type-3/7744)

<div class="topic-metadata">

**Author:** [@lancejjohnson](https://forum.devtalk.com/u/lancejjohnson)\
**Replies:** 0\
**Last updated:** [10 March 2021 14:28 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-type-3/7744 "2021-03-10T14:28:55Z")

</div>

Page 3 We are going to use the Task module later to develop some if its functionality. s/if/of/

---

## [Concurrent Data Processing in Elixir: Typo viii](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-typo-viii/7743)

<div class="topic-metadata">

**Author:** [@lancejjohnson](https://forum.devtalk.com/u/lancejjohnson)\
**Replies:** 0\
**Last updated:** [10 March 2021 14:28 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-typo-viii/7743 "2021-03-10T14:28:51Z")

</div>

Page viii It introduces the Task module, processes, timeouts, and other topics that lay the foundation for the following chapters to built upon. s/built/build/

---

## [Concurrent Data Processing in Elixir: Typo vii](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-typo-vii/7742)

<div class="topic-metadata">

**Author:** [@lancejjohnson](https://forum.devtalk.com/u/lancejjohnson)\
**Replies:** 0\
**Last updated:** [10 March 2021 14:28 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-typo-vii/7742 "2021-03-10T14:28:50Z")

</div>

You will also discover a range new of new techniques, that will help you simplify your product, Delete “new” after “range”.

---

## [Concurrent Data Processing in Elixir typo (31- 32):](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-typo-31-32/7065)

<div class="topic-metadata">

**Author:** [@mattjg908](https://forum.devtalk.com/u/mattjg908)\
**Replies:** 1\
**Last updated:** [16 February 2021 22:16 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-typo-31-32/7065 "2021-02-16T22:16:25Z")

</div>

Title: Concurrent Data Processing in Elixir: typo (31-32) I believe (page 31-32): def handle\_cast({:send, email}, state) do . . {:noreply, state} end should be: def handle\_cast({:send, email}, state) do . . {:…

---

## [Concurrent Data Processing in Elixir: Ch1 wording change](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-ch1-wording-change/6887)

<div class="topic-metadata">

**Author:** [@justincjohnson](https://forum.devtalk.com/u/justincjohnson)\
**Replies:** 1\
**Last updated:** [14 February 2021 14:46 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-ch1-wording-change/6887 "2021-02-14T14:46:57Z")

</div>

In Chapter 1 at the end of “Managing Series of Tasks” “We talked about timeout exceptions, which happen when the processes takes too long to complete. ” “processes takes” should either be “process takes” or “processes …

---

## [Concurrent Data Processing in Elixir: Ch2 errata: page 92 (B 1)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-ch2-errata-page-92-b-1/6772)

<div class="topic-metadata">

**Author:** [@chriseyre2000](https://forum.devtalk.com/u/chriseyre2000)\
**Replies:** 1\
**Last updated:** [14 February 2021 14:44 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-ch2-errata-page-92-b-1/6772 "2021-02-14T14:44:12Z")

</div>

The first handle\_cast({:send, email}, state) does not update the state so the example will not work as described. It’s missing: state = %{state | emails: emails}

---

## [Concurrent Data Processing in Elixir: State not updated with new email list (Page 46)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-state-not-updated-with-new-email-list-page-46/6714)

<div class="topic-metadata">

**Author:** [@mratliff](https://forum.devtalk.com/u/mratliff)\
**Replies:** 1\
**Last updated:** [14 February 2021 14:37 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-state-not-updated-with-new-email-list-page-46/6714 "2021-02-14T14:37:03Z")

</div>

Concurrent Data Processing in Elixir: State not updated with new email list (Page 46)

---

## [Concurrent Data Processing in Elixir: Word order issue: (page 87)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-word-order-issue-page-87/6771)

<div class="topic-metadata">

**Author:** [@mratliff](https://forum.devtalk.com/u/mratliff)\
**Replies:** 0\
**Last updated:** [7 February 2021 18:24 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-word-order-issue-page-87/6771 "2021-02-07T18:24:24Z")

</div>

“ Not only we have processed the pages faster, ” should be: “ Not only have we processed the pages faster, ”

---

## [Concurrent Data Processing in Elixir: Incorrect Description of handle\_events behavior: (page 81)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-incorrect-description-of-handle-events-behavior-page-81/6768)

<div class="topic-metadata">

**Author:** [@mratliff](https://forum.devtalk.com/u/mratliff)\
**Replies:** 5\
**Last updated:** [7 February 2021 17:18 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-incorrect-description-of-handle-events-behavior-page-81/6768 "2021-02-07T17:18:43Z")

</div>

The text currently reads: “ This means that the handle\_events/3 callback will be called with a list of 500 events initially, followed by another 500 ” It should read: “ This means that the handle\_events/3 callback wil…

---

## [Concurrent Data Processing in Elixir - Should and :crypto to extra\_applications (page 52)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-should-and-crypto-to-extra-applications-page-52/6718)

<div class="topic-metadata">

**Author:** [@mratliff](https://forum.devtalk.com/u/mratliff)\
**Replies:** 0\
**Last updated:** [5 February 2021 21:30 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-should-and-crypto-to-extra-applications-page-52/6718 "2021-02-05T21:30:56Z")

</div>

Not a big deal but might want to mention that you should add :crypto to the extra\_applications portion of mix like so: def application do \[ extra\_applications: \[:logger, :crypto\], mod: {Jobber.Application, \[\]} \] en…

---

## [Concurrent Data Processing in Elixir - Received arguments echo incorrect (Page 45)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-received-arguments-echo-incorrect-page-45/6713)

<div class="topic-metadata">

**Author:** [@mratliff](https://forum.devtalk.com/u/mratliff)\
**Replies:** 3\
**Last updated:** [5 February 2021 18:58 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-received-arguments-echo-incorrect-page-45/6713 "2021-02-05T18:58:13Z")

</div>

Concurrent Data Processing in Elixir - Received arguments echo incorrect (Page 45)

---

## [Concurrent Data Processing in Elixir: Updating state in handle\_cast (page 32)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-updating-state-in-handle-cast-page-32/6705)

<div class="topic-metadata">

**Author:** [@thevole](https://forum.devtalk.com/u/thevole)\
**Replies:** 1\
**Last updated:** [5 February 2021 18:39 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-updating-state-in-handle-cast-page-32/6705 "2021-02-05T18:39:02Z")

</div>

final line of function should be: {:noreply, {state | emails: emails}}

---

## [Concurrent Data Processing in Elixir: email variable no longer used and should be removed (page 47)](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-email-variable-no-longer-used-and-should-be-removed-page-47/6716)

<div class="topic-metadata">

**Author:** [@mratliff](https://forum.devtalk.com/u/mratliff)\
**Replies:** 0\
**Last updated:** [5 February 2021 18:17 UTC](https://forum.devtalk.com/t/concurrent-data-processing-in-elixir-email-variable-no-longer-used-and-should-be-removed-page-47/6716 "2021-02-05T18:17:04Z")

</div>

Concurrent Data Processing in Elixir: email variable no longer used and should be removed (page 47)
