[ https://issues.apache.org/jira/browse/SLING-550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12887723#action_12887723 ]
Bertrand Delacretaz commented on SLING-550: ------------------------------------------- Starting work on this now (it's been only two years ;-), committed a first shot in revision 963686. Here's an example with the supplied test servlet, using the sling:bg parameter to run it in the background: $ curl -s "http://localhost:8888/system/bgservlets/test?sling:bg" | grep "in the background" | head -1 <title>202 Running request in the background using Background request job: org.apache.sling.bgservlets.impl.ServletResponseWrapper:/var/folders/Ao/AoRgBYXQEPCEzwtY3VTbPE+++TI/-Tmp-/ServletResponseWrapper611074873126683939.data</title> $ tail -f /var/folders/Ao/AoRgBYXQEPCEzwtY3VTbPE+++TI/-Tmp-/ServletResponseWrapper611074873126683939.data Cycle 5 of 10 Flushing output Cycle 6 of 10 Cycle 7 of 10 Flushing output Cycle 8 of 10 Cycle 9 of 10 Flushing output Cycle 10 of 10 All done. The test servlet runs in the background and its output is written to a temporary file. Next steps are to implement job control, to suspend/resume/stop/restart such jobs, using a simple Felix console plugin as the UI. > nohup-like service for long-running scripts or servlets > ------------------------------------------------------- > > Key: SLING-550 > URL: https://issues.apache.org/jira/browse/SLING-550 > Project: Sling > Issue Type: Improvement > Components: Extensions > Reporter: Bertrand Delacretaz > Priority: Minor > > In some cases (like the webloader example), long-running processes need to be > started, monitored and stopped. > The webloader implements this in a naive way, it might be useful to have a > more generic facility for this: a service that would: > 1) Start a script or servlet, probably passing it a fake request object that > gives access to parameters and output but is not a real HTTP request > 2) Display a status page where currently running jobs can be monitored, and > stopped if desired > 3) Collect the output of such jobs in the repository and give access to it > via a simple monitoring interface > The output of long-running jobs could be structured using html conventions > (like <div class="status">running step 3 of 12</div>) to create overview > displays of all currently running jobs. > This is just an idea for now, I'm not going to work on this right away, but > it's probably good to keep in our wishlist. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.