El vie, 05-04-2013 a las 13:17 -0700, Niphlod escribió:
> more on the matter.... this is the result of 600 queued tasks all in
> the main group, with two different schedulers started with -K appname,
> with postgresql
> 
> select assigned_worker_name, status, count(*) as howmany
> from scheduler_task
> group by assigned_worker_name, status
> 
> "monster#4772";"COMPLETED";285
> "monster#4751";"COMPLETED";315
> 
> allright, they are not 300 and 300, but the more tasks they process
> the more the "percentage gap" will reduce, eventually being a close
> 50%-50%
> 
maybe it was just that I went crazy when they do not pick up the first
10 tasks fairly. :-(

> On Friday, April 5, 2013 9:58:50 PM UTC+2, Niphlod wrote:
>         I get that if you "manually" force them to pick tasks from
>         different groups they are processed, but different schedulers
>         with the same group name should receive the same amount of
>         tasks anyway.
>         
>         On Friday, April 5, 2013 9:17:23 PM UTC+2, Yoel Benitez
>         Fonseca wrote:
>                 El 5.4.2013 2:57 pm, Niphlod escribió: 
>                 > this is the second time the issue is posted and yet
>                 I can't find a way 
>                 > to 
>                 > reproduce it.... It's true that I'm running two
>                 scheduler processes on 
>                 > the 
>                 > same machine vs one scheduler on on machine and the
>                 other on another 
>                 > separate one, but as far as the "assign" algorithm
>                 is concerned, as 
>                 > long as 
>                 > there are two scheduler_workers rows, nothing should
>                 change. 
>                 > Just as a proof, can you confirm that when you start
>                 two schedulers on 
>                 > the 
>                 > same server you observe the same behaviour ? 
>                 
>                 somehow I solved it: 
>                 
>                 On each server the worker is started with a different
>                 group name and 
>                 each task is assigned to a group name randomly chosen
>                 from those 
>                 reported in the database: 
>                 
>                 with n server start the workers like this: 
>                 
>                 server1: python /home/www-data/web2py/web2py.py -K
>                 myapp  # group name 
>                 main 
>                 server2: python /home/www-data/web2py/web2py.py -K
>                 myapp:srv2 
>                 server3: python /home/www-data/web2py/web2py.py -K
>                 myapp:srv3 
>                 ... 
>                 serverN: python /home/www-data/web2py/web2py.py -K
>                 myapp:srvN 
>                 
>                 
>                 for a group name at random from the available: 
>                 
>                 def get_groups_names(): 
>                      rows = db(db.scheduler_worker.id > 
>                 0).select(db.scheduler_worker.group_names).as_list() 
>                      mylist = [] 
>                      for row in rows:
>                 mylist.extend(row['group_names']) 
>                      tmp = set(mylist) #make it a set 
>                 
>                      return [item for item in tmp] 
>                 
>                 and to assign a task to a group: 
>                 
>                 ... 
>                 scheduler.queue_task(some_task, 
>                    ..., 
>                    group_name=random.choice(get_groups_names()) 
>                 ) 
>                 ... 
>                 
>                 After doing that, the WORKERS started working without
>                 problems and 
>                 tasks are not waiting if there are WORKERS idle. 
>                 
>                 > On Friday, April 5, 2013 8:47:58 PM UTC+2, Yoel
>                 Benitez Fonseca wrote: 
>                 >> 
>                 >> El 5.4.2013 6:47 am, Niphlod escribió: 
>                 >>> what db are you using ? 
>                 >> 
>                 >> postgres, is the same database shared between
>                 servers 
>                 >> 
>                 >>> 
>                 >>> On Friday, April 5, 2013 6:24:13 AM UTC+2, Yoel
>                 Benitez Fonseca 
>                 >>> wrote: 
>                 >>>> 
>                 >>>> i have this setup: 
>                 >>>> 
>                 >>>> 2 severs with the same web2py & app installed,
>                 each of then run a 
>                 >>>> scheluder worker 
>                 >>>> 
>                 >>>> the problem is that only one of then get jobs,
>                 and in 
>                 >>>> db.scheluder_worker the one with do all the work
>                 is the only with 
>                 >>>> true 
>                 >>>> in is_ticker field, i just the 2 of em cooperate
>                 and pickup the 
>                 >>>> available jobs. 
>                 >>>> 
>                 >>>> P.D: got them in diferent's groups and randomly
>                 assing task to the 
>                 >>>> groups. 
>                 >>>> 
>                 >>>> -- 
>                 >>>> Yoel Benítez Fonseca 
>                 >>>> Tel: 573400 
>                 >>>> 
>                 >> 
>                 >> -- 
>                 >> Yoel Benítez Fonseca 
>                 >> Tel: 573400 
>                 >> 
>                 
>                 -- 
>                 Yoel Benítez Fonseca 
>                 Tel: 573400 
> 
> -- 
>  
> --- 
> 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.
>  
>  


-- 

--- 
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