MihailPertsev

MihailPertsev

Hi! I am new to elixir and I am realy love it, this language is simply amazing. My question is this
I have existing Electron app, that contains a bunch of node js scripts. Basically, what I am doing is browser automation via playwright (filling forms with data => save result => display report to user) and what I want is parallel execution of those scripts. How can I create kind of “control” elixir app for my node scripts?And how can I connect it to my existing electron interface.
The flow that I want to achieve: User clicks on button => electron app somehow communicate with elixir app => elixir app starts node js instance 1; User clicks again => electron communicate with elixir => elixir starts node js instance 2… etc

Showing Posts 1 to 10

kokolegorille

kokolegorille

Hello and welcome,

I never tried playwright, but hound can probably do the same.

You can use phoenix npm package in Electron if You want to support Phoenix channels, or You can define an API.

For the rest, You might find OTP useful.

MihailPertsev

MihailPertsev OP

Thanks for quick reply. So, there is no “easy” way to run a bunch of node js scripts inside of elixir? I cannot grasp how this should work, As I understand you correctly “support Phoenix channels” means that we can connect them via websockets, but is this realy the only way? My main concern is to run a node js scripts from elixir “shell” app, because I will not rewrite all my playwright scripts to something like hound.

kokolegorille

kokolegorille

Sorry, I thought You were speaking of Phoenix, but it’s not the case…

You have different ways to communicate with the Electron application, just tell how You want to do it.

It’s also possible to run external program, You just need to be careful not to bring the VM down.

MihailPertsev

MihailPertsev OP

This is the picturse that should clarify what I want
https://imgur.com/gallery/gMo7zO4
https://imgur.com/gallery/we2QFh6
Do not misunderstand me, right now everything works without elixir and it works fine, but what I want is to test and kind of play with elixir’s parallelism ability. Any simple way is ok for me, I am not an expert after all.

MihailPertsev

MihailPertsev OP

Thanks, seems like this is exactly what I need

harmon25

harmon25

Could also try this for calling node from elixir.

MihailPertsev

MihailPertsev OP

Thanks Sir!

hubertlepicki

hubertlepicki

So @MihailPertsev have you ended up using Playwright? If so, which approach did you choose and how did it go?

MihailPertsev

MihailPertsev OP

I ended up with pure NodeJS solution via https://www.npmjs.com/package/generic-pool for concurrency. Yes, I am using Playwright because I need to execute some code inside browsers… So, no Elixir here at all.

Where Next? Top

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
jonnycharles
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
roeland
Kia ora, We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
Onor.io
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
subsaharancoder
I’ve followed the Phoenix LiveView file upload code here Uploads — Phoenix LiveView v1.0.0-rc.7 and so far everything works just fine wit...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews