<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="300538" data-post-id="300538">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="shlonny" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/shlonny/120/22635_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  shlonny
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I hit this same <code>:invalid_arg</code> error and got some help from the guys in the Elixir Slack (<a class="mention" href="/u/lostkobrakai" rel="nofollow">@LostKobrakai</a> included <img src="https://forum.elixirforum.com/images/emoji/apple/wink.png?v=15" title=":wink:" class="emoji" alt=":wink:" loading="lazy" width="20" height="20"> ).<br>
I needed to change the args to a list of char lists like so:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">defp peer_args do
    [~c"-loader", ~c"inet", ~c"-hosts", ~c"127.0.0.1", ~c"-setcookie", ~c"#{:erlang.get_cookie()}"]
end
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="300538" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/need-help-with-app-architecture-how-to-dynamically-run-code/58050/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-300538" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="300538"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="300544" data-post-id="300544">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="yolo007wizard" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  yolo007wizard
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Very nice thank you for that. So I updated peer_args and progressed to a new error <img src="https://forum.elixirforum.com/images/emoji/apple/smiling_face_with_tear.png?v=15" title=":smiling_face_with_tear:" class="emoji" alt=":smiling_face_with_tear:" loading="lazy" width="20" height="20"></p>
<pre data-code-wrap="elixir"><code class="lang-elixir">Evaluation process terminated - an exception was raised:
    ** (ArgumentError) errors were found at the given arguments:

  * 2nd argument: invalid option in list

        :erlang.open_port({:spawn_executable, ~c"/Applications/Livebook.app/Contents/Resources/rel/vendor/otp/erts-14.0.2/bin/erl"}, [{:args, [~c"-sname", [102, 105, 114, 115, 116, 95, 112, 101, 101, 114, 95, 110, 111, 100, 101, 64 | :localhost], ~c"-loader", ~c"inet", ~c"-hosts", ~c"127.0.0.1", ~c"-setcookie", ~c"NwYcxH4MNAGsdadsjh1TP7kefauOlwoRXq1", ~c"-detached", ~c"-peer_detached", ~c"-user", ~c"peer", ~c"-origin", ~c"g1h3KDN0aW9sbDRd0LWxpdmVsdfib29rX2FwcEsadfdsafdBEYXZpZHMtTWFjQm9vay1Qcm8AAAeIiAAAAAGT7Reg="]}, {:env, []}, :hide, :binary])
        (stdlib 5.0.2) peer.erl:309: :peer.init/1
        (stdlib 5.0.2) gen_server.erl:962: :gen_server.init_it/2
        (stdlib 5.0.2) gen_server.erl:917: :gen_server.init_it/6
        (stdlib 5.0.2) proc_lib.erl:241: :proc_lib.init_p_do_apply/3
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="300544" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/need-help-with-app-architecture-how-to-dynamically-run-code/58050/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-300544" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="300544"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="300545" data-post-id="300545">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="yolo007wizard" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  yolo007wizard
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>So bringing it back to the original goals of this post:</p>
<p>The best approach so far seems to be</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">System.cmd("elixir", [Path.join(__DIR__, "action_test.exs")])
</code></pre>
<p>Which starts node under hood with no worries of dependency overlap issues with the parent process. I’m starting to R&amp;D how to refine and deal with possible elixir --no-halt scenarios with cleanup timeouts etc.</p>
<p>In general though I really like exs scripts with Mix.install. I also want to explore storing script files in DB, then dynamically load + run them in my app. I think this will check all my desired requirements.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="300545" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/need-help-with-app-architecture-how-to-dynamically-run-code/58050/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-300545" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="300545"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="300546" data-post-id="300546">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="LostKobrakai" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/LostKobrakai/120/3072_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  LostKobrakai
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>If you need an isolated VM you can use <code>:peer</code> to start one. No need to drop to shells or CLI stuff.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="300546" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/need-help-with-app-architecture-how-to-dynamically-run-code/58050/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-300546" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="300546"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="300547" data-post-id="300547">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="D4no0" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/D4no0/120/33624_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  D4no0
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="yolo007wizard" data-post="14" data-topic="58050">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/y/58956e/48.png" class="avatar"> yolo007wizard:</div>
<blockquote>
<p>The best approach so far seems to be</p>
</blockquote>
</aside>
<p>Absolutely not, maybe for you. The problem with starting random processes like this is that sooner or later you will make a memory leak, and this will render all the fault tolerance feature useless.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="300547" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/need-help-with-app-architecture-how-to-dynamically-run-code/58050/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-300547" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="300547"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="300564" data-post-id="300564">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="yolo007wizard" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  yolo007wizard
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/lostkobrakai" rel="nofollow">@LostKobrakai</a> All the debugging above is for the :peer approach in <a href="https://forum.elixirforum.com/t/need-help-with-app-architecture-how-to-dynamically-run-code/58050/11" rel="nofollow">PeerNode</a><br>
<a class="mention" href="/u/d4no0" rel="nofollow">@D4no0</a> instead of ‘best’ perhaps I should have said ‘easiest’ so far</p>
<p>I’m learning and trying to understand more. If both :peer and CLI approaches start a new beam instance, why is one considered better/worse?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="300564" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/need-help-with-app-architecture-how-to-dynamically-run-code/58050/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-300564" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="300564"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-most-liked cat-most-liked" title="One of the top 3 liked posts in this thread!"></div>
  </section>
</div>
    <div class="postbit" id="300642" data-post-id="300642">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="yolo007wizard" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  yolo007wizard
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Architecture ideas so far:<br>
</p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/8/8/88c25a4a4071ef93e1f75d1fbbc398ffbd61c4fe.jpeg" data-download-href="https://forum.elixirforum.com/uploads/default/88c25a4a4071ef93e1f75d1fbbc398ffbd61c4fe" title="Screenshot 2023-09-09 at 1.24.17 PM" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/3X/8/8/88c25a4a4071ef93e1f75d1fbbc398ffbd61c4fe_2_690x516.jpeg" alt="Screenshot 2023-09-09 at 1.24.17 PM" data-base62-sha1="jvPkKCWwNR1YRIlDunMDRjooa2W" width="690" height="516" srcset="https://forum.elixirforum.com/uploads/default/optimized/3X/8/8/88c25a4a4071ef93e1f75d1fbbc398ffbd61c4fe_2_690x516.jpeg, https://forum.elixirforum.com/uploads/default/optimized/3X/8/8/88c25a4a4071ef93e1f75d1fbbc398ffbd61c4fe_2_1035x774.jpeg 1.5x, https://forum.elixirforum.com/uploads/default/original/3X/8/8/88c25a4a4071ef93e1f75d1fbbc398ffbd61c4fe.jpeg 2x" data-dominant-color="F3F3F3"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">Screenshot 2023-09-09 at 1.24.17 PM</span><span class="informations">1200×898 89.4 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p>
<p>R&amp;D Notes:</p>
<ul>
<li>The CLI approach has big benefit of caching mix dependencies locally on the container for consecutive action runs</li>
<li>Was good to read over <a href="https://groups.google.com/g/elixir-lang-core/c/q0k2dX992HU" rel="noopener nofollow ugc">the initial proposal</a> for Mix.install plus looking over the <a href="https://github.com/elixir-lang/elixir/blob/main/lib/mix/lib/mix.ex#L769" rel="noopener nofollow ugc">source code</a>.</li>
</ul>
<p>Why all this?</p>
<p>I’m working on an open source app idea for event handling. It will be an ‘if-this-then-that’ application where ‘if-this’ logic is no-code gui frontend and the ‘then-that’ portion is Elixir code (probably exs mix install scripts). The essence of the idea is to find the right balance between code and no-code / low-code tools.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="300642" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/need-help-with-app-architecture-how-to-dynamically-run-code/58050/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-300642" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="300642"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>