Ignore:
Timestamp:
May 3, 2016, 5:55:53 PM (4 years ago)
Author:
hectorgh
Message:

wip on threading pool for peterpan hooks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • n4d-server-plugins/trunk/fuentes/server-install-files/usr/share/n4d/python-plugins/PeterPan.py

    r180 r1379  
    77        def __init__(self,attributes=None):
    88                self.attributes = attributes
     9                self.thread_list=[]
     10               
     11               
    912        #def init
    1013       
     
    1316                t=threading.Thread(target=self.execute_python_dir_thread,args=(dir,NEVERLAND_VAR,ARGV))
    1417                t.daemon=True
    15                 t.start()
     18                #t.start()
     19               
     20                if len(self.thread_list)==1:
     21                        self.wake_master_thread()
     22               
    1623                return True
    17                
    1824               
    1925        #def execute_dir
     
    2329                t=threading.Thread(target=self.execute_binary_dir_thread,args=(dir,NEVERLAND_VAR))
    2430                t.daemon=True
    25                 t.start()
     31                #t.start()
     32               
     33                if len(self.thread_list)==1:
     34                        self.wake_master_thread()
     35               
    2636                return True
    2737               
    2838        #def execute_binary_dir
    2939       
     40       
     41        def wake_master_thread(self):
     42               
     43                t=threading.Thread(target=self.execute_workers)
     44                t.daemon=True
     45                t.start()
     46               
     47        #def wake_master_thread
     48       
     49       
     50        def execute_workers(self):
     51               
     52                while len(self.thread_list)>0:
     53                       
     54                        self.thread_list[0].start()
     55                        self.thread_list[0].join()
     56                        self.thread_list.pop(0)
     57                       
     58                #END OF MAIN THREAD
     59                       
     60        #def execute_workers
     61       
     62       
     63       
    3064        def execute_python_dir_thread(self,dir,NEVERLAND_VAR=None,ARGV=None):
    3165                '''
    32                 In this case NEVERLAND_VAR can to be list
     66                In this case NEVERLAND_VAR can be a list
    3367                '''
    3468                if os.path.exists(dir):
Note: See TracChangeset for help on using the changeset viewer.