Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Elixir Cookbook

You're reading from   Elixir Cookbook Unleash the full power of programming in Elixir with over 60 incredibly effective recipes

Arrow left icon
Product type Paperback
Published in Feb 2015
Publisher Packt
ISBN-13 9781784397517
Length 236 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Paulo Pereira Paulo Pereira
Author Profile Icon Paulo Pereira
Paulo Pereira
Arrow right icon
View More author details
Toc

Table of Contents (16) Chapters Close

Elixir Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. Command Line FREE CHAPTER 2. Data Types and Structures 3. Strings and Binaries 4. Modules and Functions 5. Processes and Nodes 6. OTP – Open Telecom Platform 7. Cowboy and Phoenix 8. Interactions Installation and Further Reading Index

Executing code in a different node


It is possible to define a function in a node and execute it in another one.

In this recipe, we will be connecting two nodes and will define a function to print a greeting message with the greeter name (in this case, the node's full name). Afterwards, we will execute the function in both nodes!

Getting ready

To be able to execute a function in another node, we will start by following the steps from the previous recipe. We will create two nodes and connect them together. Repeat the steps from the previous recipe to get started.

How to do it…

With both nodes up and running and connected, we are ready to start:

  1. Define a function in node one:

    iex([email protected])4> greeting_node = fn() -> IO.puts("Hello from #{inspect(Node.self)}") end
    #Function<20.90072148/0 in :erl_eval.expr/5>
    
  2. It's time to instruct the second node to run the function we defined in node one:

    iex([email protected])21> Node.spawn(:"[email protected]", greeting_node)
    #PID<9007.76.0>
    Hello...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at £13.99/month. Cancel anytime
Visually different images