Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^2: Providing feedback to Web GUI (Mojolicious)

by Anonymous Monk
on Nov 16, 2013 at 23:51 UTC ( [id://1062952]=note: print w/replies, xml ) Need Help??


in reply to Re: Providing feedback to Web GUI (Mojolicious)
in thread Providing feedback to Web GUI (Mojolicious)

running a process like this which takes a long time (especially a day or more!) from a web request is not really a good idea. It will be using one of the web request threads for all that time.

A better solution would be to kick off a job elsewhere and release the web request thread. You can do this by putting a job on a job queue (have a look at beanstalk) then as soon as you have done this, return 'success' to the requesting web page. (success that you have scheduled the job).

Then another process which is running as a client would take this job and process it. It can output it's current status and percentage done to a file. Another AJAX web request can interrogate that file and immediately return the job status.

If you are only running one of these big jobs at a time then a single job queue client will suffice. If you want to run more in parallel then just run more clients.

What is happening here is that each job client is running as a separate operating system process which means you don't have to worry about multi-threading.

  • Comment on Re^2: Providing feedback to Web GUI (Mojolicious)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1062952]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (4)
As of 2024-04-19 21:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found