iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
Software Development

Elixir 多工 : Processes 與 OTP 系列

介紹作為 Elixir 核心的 Processes 與延伸的多工框架 OTP,讓我們一起研究分享平常在寫 Elixir 可以輕鬆做到多工底下隱藏的原理以及進階應用。

鐵人鍊成 | 共 30 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 11

11 GenServer call

call 與 cast 非常相似,但是 handle_call/3 要求的回傳格式不同 這次要回傳的 tuple 裡分別是 {:reply, reply, ne...

2024-09-25 ‧ 由 韋政 分享
DAY 12

12 Client/Server API 區分

目前我們要產生以及呼叫 GenServer 都是使用 GenServer.start_link/2 與 GenServer.call/3 等 GenServer...

2024-09-26 ‧ 由 韋政 分享
DAY 13

13 handle_info

除了 handle_cast 與 handle_call 之外,另一個相當常用的是 handle_info/2 這個 callback 可以接收普通的 proc...

2024-09-27 ‧ 由 韋政 分享
DAY 14

14 GenServer 生命循環

讓我們統整一下整個 GenServer process 從啟動、接收訊息到結束的流程 啟動 啟動並有了剛開始的 state 之後,GenServer 便會自己...

2024-09-28 ‧ 由 韋政 分享
DAY 15

15 Supervisor

要把 Bank 加入 Supervisor 底下比較方便的方式是讓我們的 Bank GenServer 開始時註冊在一個名字底下,通常可以直接使用 Module...

2024-09-29 ‧ 由 韋政 分享
DAY 16

16 在 mix 專案使用 Supervisor

使用 --sup 建立一個含有 supervision tree 的空專案,這會幫我們產生相 application.ex 檔案 mix new nice_ba...

2024-09-30 ‧ 由 韋政 分享
DAY 17

17 child_spec

Supervisor 的監督的對象必須要有實踐 child_spec/1 函數來告訴 supervisor 如何啟動它。 好消息是,如果要監督的對象是 GenS...

2024-10-01 ‧ 由 韋政 分享
DAY 18

18 Supervision tree

你有試過重開嗎? 除了一般的錯誤處理,BEAM 提供了我們另一個藉由關閉 process 在重啟的監督安全網 預設時,當一個 worker process 發...

2024-10-02 ‧ 由 韋政 分享
DAY 19

19 Observer

BEAM 提供一系列的工具,其中的 Observer 可以讓我們圖像化的顯示 process 狀態 打開我們的 nice_bank 裡的 mix.exs檔案 確...

2024-10-03 ‧ 由 韋政 分享
DAY 20

20 DynamicSupervisor

目前我們使用的 Supervisor 開啟時,需指定固定的 children如果需要動態的增加減少監督的 process ,則需要使用 DynamicSuper...

2024-10-04 ‧ 由 韋政 分享