ปกติแล้วเวลาเราจะเรียกใช้ handle_call กับ handle_cast ของ gen_server เราจะเรียกใช้โดย gen_server:call สำหรับ synchronous call และเรียกใช้ gen_server:cast สำหรับ asynchronous call ตัวอย่างเช่น
Response = gen_server:call(?SERVER,{request}).
gen_server:cast(?SERVER,{request}).
แต่ทั้งสองฟังก์ชันนี้จะเรียกได้เฉพาะ gen_server ที่รันอยู่บนเออแลงโนดเดียวกันเท่านั้น ถ้าเราต้องการให้เรียกใช้งาน gen_server ที่รันอยู่โนดอื่นๆสามารถใช้ได้โดยเรียก gen_server:multi_call กับ gen_server:abcast โดยค่าแรกที่ส่งให้ฟังก์ชันเป็นลิสต์ของโนดที่ตัว gen_server เปิดใช้งานอยู่
{ResponseList,_} = gen_server:multi_call(['pgsql_node@192.168.1.123'],?SERVER,{request}).
gen_server:abcast(['pgsql_node@192.168.1.123'],?SERVER,{request}).
Recent comments
30 weeks 1 day ago
30 weeks 4 days ago
1 year 14 weeks ago
1 year 22 weeks ago
1 year 29 weeks ago
1 year 29 weeks ago
1 year 36 weeks ago
1 year 39 weeks ago
1 year 46 weeks ago