Thanks. I'll let you know how it works out. On Thu, Aug 18, 2016 at 3:42 PM Massimo Di Pierro < massimo.dipie...@gmail.com> wrote:
> I think what you propose should work fine. I would set cron=False btw. > > > On Wednesday, 17 August 2016 15:08:08 UTC-5, Michael Ellis wrote: >> >> Thanks, Massimo. I'm using web2py as an interface to an industrial >> process controller. The default rocket server and sqlite3 db are fine for >> this app as it will never be serving pages to more than 2 or 3 clients at >> time (usually just one via localhost). The process I want to label needs >> to be the same one your startup message advises to kill with SIGTERM. >> That's the one that runs the model and controller on each page request, >> right? >> >> Your suggestion to paste web2py.py into the body of my top-level process >> is intriguing. >> >> Looking at the code in web2py.py and considering that 1) my code will >> never run as a frozen exe on Windows and 2) I can ignore at least for now >> the coverage import, it appears I could reduce it to: >> >> import os >> >> import sys >> >> path = os.path.dirname(os.path.abspath(__file__)) # alter to make sure >> we point toplevel web2py dir. >> >> os.chdir(path) >> >> sys.path = [path] + [p for p in sys.path if not p == path] >> >> # important that this import is after the os.chdir >> >> import gluon.widget >> >> # Start Web2py (without cron service) ! >> >> #TODO fix up sys.args to match my use case >> >> #TODO call setproctitle here >> >> gluon.widget.start(cron=True) >> >> So if I wrap all the above in a function, would I be able to launch it >> successfully with multiprocessing.Process? That would be a real help as I >> could then dispense with a top-level shell script that's now launching >> web2py separately from my other processes. And would the setproctitle() >> call give the desired result or would I need to push that down into >> gluon.widget? >> >> Thanks! >> >> >> >> >> >> On Tue, Aug 16, 2016 at 7:55 PM Massimo Di Pierro < >> massimo.dipie...@gmail.com> wrote: >> >>> Not clear what you mean by what web2py starts. depending on the web >>> server there may be more than one process and the web server manages those. >>> My guess is that you want it done at the level of the web2py server rocket. >>> In which case I would copy web2py.py into main.py and edit the latter. >>> >>> On Tuesday, 9 August 2016 10:48:10 UTC-5, Michael Ellis wrote: >>>> >>>> >>>> I'm running web2py in conjunction with a suite of other, independent, >>>> python processes. In development I often want to 'ps' or kill the entire >>>> suite from the command line. I've found the Python setproctitle module >>>> really useful for prepending a common label to all the process titles. >>>> >>>> In each process's __main__ code, I use something like the following: >>>> >>>> from setproctitle import setproctitle, getproctitle >>>> _proclabel = "thisapp" >>>> if not getproctitle().startswith(_proclabel): >>>> setproctitle(_proclabel + ' ' + getproctitle()) >>>> >>>> >>>> >>>> This puts the label at the front, so I can do things like >>>> >>>> >>>> ps ax | grep 'thisapp' >>>> >>>> 17162 s000 S 0:00.15 thisapp processes >>>> >>>> 17163 s000 S 0:00.02 thisapp simulation_service >>>> >>>> 17164 s000 S 0:00.06 thisapp statehouse_service >>>> >>>> 17167 s000 S 0:00.08 thisapp serial_interface_service >>>> >>>> 17168 s000 S 0:00.01 thisapp email_service >>>> >>>> 17169 s000 S 0:00.05 thisapp periodic_serial_query_service >>>> >>>> I want to also label the web2py process at startup. So far, the only >>>> way I've found is to include the setproctitle code in an app's 0.py model >>>> file and then have my startup script fetch the index page after web2py is >>>> up and running. >>>> >>>> >>>> It would be nicer to be able to put it in script that runs once as >>>> web2py.py starts, but there doesn't seem to be a way to do that without the >>>> -R option which is recommended on for -S shell invocations of web2py. >>>> >>>> >>>> I'd rather not hack web2py.py or one of the gluon modules. Is there a >>>> better way? >>>> >>>> >>>> Thanks! >>>> >>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "web2py-users" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/web2py/zdVUnKgm1zQ/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> web2py+unsubscr...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/zdVUnKgm1zQ/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.