The most likely scenario as I made reference to before is that right now there is no limits on how many algorithm processes are running. So if you have a lot of concurrent requests come in which need the algorithm to run, you can run out of memory. The task manager will need to be modified to implement a queue and only a certain number of the algorithm processes allowed to run at one time, with an error going back if one can't be run at that time, or a timeout allowed on the initial starting of a new process.
I am quite busy right now so don't have the time to explain the changes, but I will when I have a chance. Graham On 17/03/2015, at 6:30 AM, Paul Royik <[email protected]> wrote: > Hello. > 'pstree' is provided. > > Here it is for now: > [simamura@web373 ~]$ pstree > ?-+-httpd-+-httpd > | |-2*[httpd---13*[{httpd}]] > | `-httpd---12*[{httpd}] > `-httpd.worker-+-2*[httpd.worker---14*[{httpd.worker}]] > `-httpd.worker---6*[{httpd.worker}] > > The problem is that I can't catch the situation with memory overflow. When > webfaction notifies me, all processes are killed already. > > Is there any way to resolve this situation? > > Thank you. > > On Monday, March 16, 2015 at 9:33:13 AM UTC+2, Graham Dumpleton wrote: > Does WebFaction provide the 'pstree' program? > > If it does, learn how to use it to show parent/child relation ships. > > Else work out how to get 'ps' to show both process ID and parent process ID. > > The extra processes could be the result of something int your web application > forking child processes to do stuff still, even though you have tried to farm > stuff out to the separate task manager. It is too hard to tell based on just > the information you have given. > > Graham > > On 12/03/2015, at 11:18 PM, Paul Royik <[email protected]> wrote: > > Here is my express-config > mod_wsgi-express setup-server > --working-directory ${SITE_NAME} > --server-root express --port ${SITE_PORT} > --log-directory ${LOG_DIR} --access-log --access-log-format "${LOG_FORMAT}" > --access-log-name access_${APPL_NAME}.log --error-log-name > error_${APPL_NAME}.log > --python-path ${SITE_ROOT}/lib/python${PYTHON_VERSION} > --threads 10 > --service-script tasks $SITE_NAME/$SITE_NAME/timeout/task-queue-manager.py > $SITE_NAME/$SITE_NAME/wsgi.py > > Don't see where I can tune number of processes. > Also, I will find out about how many instances can external library handle > and let you know. > > On Thursday, March 12, 2015 at 3:38:17 AM UTC+2, Graham Dumpleton wrote: > > On 12/03/2015, at 4:06 AM, Paul Royik <[email protected]> wrote: > > I still experience problems with memory overflow on webfaction > But it seems that problem is not in service:tasks (it takes only 9 MB). > I don't know why there are so many other threads. > > simamura - 1MB - 23:37:52 - 1571 - > /home/simamura/webapps/django_gradis/apache2/bin/httpd.worker -f > /home/simamura/webapps/django_gradis/apache2/conf/httpd.conf -k start > simamura - 43MB - 23:37:52 - 1587 - > /home/simamura/webapps/django_gradis/apache2/bin/httpd.worker -f > /home/simamura/webapps/django_gradis/apache2/conf/httpd.conf -k start > simamura - 43MB - 23:37:52 - 1588 - > /home/simamura/webapps/django_gradis/apache2/bin/httpd.worker -f > /home/simamura/webapps/django_gradis/apache2/conf/httpd.conf -k start > simamura - 2MB - 23:37:52 - 1589 - > /home/simamura/webapps/django_gradis/apache2/bin/httpd.worker -f > /home/simamura/webapps/django_gradis/apache2/conf/httpd.conf -k start > > Your other Apache instance. > > simamura - 2MB - 23:42:53 - 23836 - httpd (mod_wsgi-express) -f > /home/simamura/webapps/django_math/express/httpd.conf -DWSGI_ACCESS_LOG > -DWSGI_MPM_ENABLE_EVENT_MODULE -DWSGI_MPM_EXISTS_EVENT_MODULE > -DWSGI_MPM_EXISTS_WORKER_MODULE -DWSGI_MPM_EXISTS_PREFORK_MODULE -k start > > Apache parent process. > > simamura - 3MB - 11:08:36 - 4462 - httpd (mod_wsgi-express) -f > /home/simamura/webapps/django_math/express/httpd.conf -DWSGI_ACCESS_LOG > -DWSGI_MPM_ENABLE_EVENT_MODULE -DWSGI_MPM_EXISTS_EVENT_MODULE > -DWSGI_MPM_EXISTS_WORKER_MODULE -DWSGI_MPM_EXISTS_PREFORK_MODULE -k start > simamura - 3MB - 13:37:49 - 18634 - httpd (mod_wsgi-express) -f > /home/simamura/webapps/django_math/express/httpd.conf -DWSGI_ACCESS_LOG > -DWSGI_MPM_ENABLE_EVENT_MODULE -DWSGI_MPM_EXISTS_EVENT_MODULE > -DWSGI_MPM_EXISTS_WORKER_MODULE -DWSGI_MPM_EXISTS_PREFORK_MODULE -k start > > Apache child worker processes which proxy to mod_wsgi daemon processes. > > simamura - 114MB - 0:16:12 - 10076 - (wsgi:localhost:20241:1092) -f > /home/simamura/webapps/django_math/express/httpd.conf -DWSGI_ACCESS_LOG > -DWSGI_MPM_ENABLE_EVENT_MODULE -DWSGI_MPM_EXISTS_EVENT_MODULE > -DWSGI_MPM_EXISTS_WORKER_MODULE -DWSGI_MPM_EXISTS_PREFORK_MODULE -k start > simamura - 120MB - 0:15:15 - 11838 - (wsgi:localhost:20241:1092) -f > /home/simamura/webapps/django_math/express/httpd.conf -DWSGI_ACCESS_LOG > -DWSGI_MPM_ENABLE_EVENT_MODULE -DWSGI_MPM_EXISTS_EVENT_MODULE > -DWSGI_MPM_EXISTS_WORKER_MODULE -DWSGI_MPM_EXISTS_PREFORK_MODULE -k start > simamura - 131MB - 0:11:15 - 20119 - (wsgi:localhost:20241:1092) -f > /home/simamura/webapps/django_math/express/httpd.conf -DWSGI_ACCESS_LOG > -DWSGI_MPM_ENABLE_EVENT_MODULE -DWSGI_MPM_EXISTS_EVENT_MODULE -DWSGI_ > ... > > -- > You received this message because you are subscribed to the Google Groups > "modwsgi" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/modwsgi. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/d/optout.
