in reply to Disc burning

I want my script to keep processing new incoming requests and being informed of the burning status.

What does this mean exactly - what is your script doing in the meantime? Is it a GUI, some kind of server, some kind of event loop, ...? What purpose would informing the script of the progress serve (e.g. information for the user, or something else)? The reason I ask is that some event loops provide mechanisms to run external processes in parallel.

Replies are listed 'Best First'.
Re^2: Disc burning
by milanpwc (Novice) on Jun 05, 2019 at 09:25 UTC
    The Perl script implements a server event loop. In case it receives a "burn" command from the client, it have to call an external program called 'xorriso' to burn the processed data onto a disc. While the burning takes quite some time, I want the server loop to keep processing other client requests in the meantime. I have written my own event loop already and I am not going to replace it with some other public domain event loop modules.

      In that case you might be interested in IPC::Run's start/pump/finish interface (or in your case pump_nb), which will let you run a separate process and communicate with it while it is running.