On Monday, March 3, 2014 1:10:08 PM UTC+1, Andrey K wrote:
>
> Wow, what an answer! Niphlod, thanks a lot for such a detailed info with 
> examples - now it is crystal clear for me. Very great help, really 
> appreciate it!!!
>
> You answer make me clarify the future architecture for my app. Before I 
> thought to use amazon internal tools for  task distribution now I think I 
> can use w2p scheduler at least for the first stage or maybe permanently.
>
> I have several additional question if you allow me. Hope it helps to 
> other members of the w2p club.
> The plan is to start amazon servers (with web2py preinstalled) 
>  programmatically when I need it with the purpose to run  w2p scheduler on 
> it.
> Could you give me your point of your on the following  questions that I 
> need to address in order to build such a service:
> 1)Can I set up and cancel workers under web2py programmatically  which 
> equivalent 
> to' python web2py.py -K myapp:fast,myapp:fast,myapp:fast'?
>

you can put them to sleep, terminate or kill them (read the book or use 
w2p_scheduler_tests to get comfortable with the terms) but there's no 
"included" way to start them on demand. That job is left to various pieces 
of software that are built from the ground-up to manage external 
processes....upstart, systemd, circus, gaffer, supervisord, foreman, etc 
are all good matches but each one with a particular design in mind and 
totally outside the scope of web2py. Coordinating processes among a set of 
servers just needs a more complicated solution than web2py itself.
 

> 2) What is the best way to monitor load of the server to make a decision 
> to start new worker or new server depends on the resources left?
>

depends of what you mean by load. Just looking at your question, I see that 
you never had to manage such architecture :-P......usually you don't want 
to monitor the load "of the server" to ADD additional workers... you want 
to monitor the load "of the server" to KILL additional workers or ADD 
servers to process the jobs, watching at the load "of the infrastructure". 
Again usually - because basically every app has its own priorities - you'd 
want to set an estimate (KPI) on how much the queue can grow before jobs 
are actually processed, and if the queue is growing faster than the 
processed items, start either a new worker or a new virtual machine. 
 

> 3)Is it possible to set up folder on dedicated server for web2py file 
> upload and make it accessible to all web2py instances = job workers
>
> linux has all kinds of support for that: either an smb share or an nfs 
share is the simplest thing to do. a Ceph cluster is probably more 
complicated, but again we're outside of the scope of web2py 

-- 
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/groups/opt_out.

Reply via email to