Changeset 6823


Ignore:
Timestamp:
Feb 15, 2018, 1:21:25 PM (19 months ago)
Author:
Juanma
Message:

refactorized

File:
1 edited

Legend:

Unmodified
Added
Removed
  • taskscheduler/trunk/fuentes/client-scheduler.install/usr/share/n4d/python-plugins/SchedulerClient.py

    r6818 r6823  
    1010from  datetime import date
    1111import xmlrpclib as xmlrpc
     12
     13
    1214
    1315class SchedulerClient():
     
    5254                        if prefix=='remote':
    5355                                n4d=xmlrpc.ServerProxy("https://server:9779")
     56                                tasks=n4d.get_remote_tasks("","SchedulerServer").copy()
    5457                        else:
    5558                                n4d=xmlrpc.ServerProxy("https://localhost:9779")
    56                         tasks=n4d.get_tasks("","SchedulerServer")['data'].copy()
     59                                tasks=n4d.get_tasks("","SchedulerServer")['data'].copy()
    5760
    5861                        #Delete files
     
    7780                                        self._debug("Scheduling %s"%name)
    7881                                        fname=name.replace(' ','_')
    79                                         task_names[fname]=tasks[name][serial].copy()
     82                                        if fname in task_names.keys():
     83                                                task_names[fname].update(tasks[name][serial].copy())
     84                                        else:
     85                                                task_names[fname]=tasks[name][serial].copy()
    8086                                        self._write_crontab_for_task(task_names,prefix)
    8187
     
    9096                                                        task_data['mon'],task_data['dow'],u""+task_data['cmd']))
    9197                        cron_array.append(cron_task)
    92 #                       for task_serial,task_info in task_data.items():
    93 #                               cron_task=("%s %s %s %s %s root %s"%(task_info['m'],task_info['h'],task_info['dom'],\
    94 #                                                               task_info['mon'],task_info['dow'],task_info['cmd']))
    95 #                               cron_array.append(cron_task)
    9698                        if task_data:
    97                                 with open(fname,'w') as data:
    98                                         data.write('#Scheduler tasks\n')
    99                                         data.write('SHELL=/bin/bash\n')
    100                                         data.write('PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\n')
    101                                         data.write('DISPLAY=:0\n')
    102                                         data.write('XAUTHORITY=/var/run/lightdm/root/:0\n')
    103                                         if 'https_proxy' in os.environ.keys():
    104                                                 https_proxy=os.environ['https_proxy']
    105                                                 data.write('https_proxy=%s\n'%https_proxy)
    106                                         if 'http_proxy' in os.environ.keys():
    107                                                 http_proxy=os.environ['http_proxy']
    108                                                 data.write('http_proxy=%s\n'%http_proxy)
     99                                if os.path.isfile(fname):
     100                                        mode="a"
     101                                else:
     102                                        mode="w"
     103                                with open(fname,mode) as data:
     104                                        if mode=="w":
     105                                                data.write('#Scheduler tasks\n')
     106                                                data.write('SHELL=/bin/bash\n')
     107                                                data.write('PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\n')
     108                                                data.write('DISPLAY=:0\n')
     109                                                data.write('XAUTHORITY=/var/run/lightdm/root/:0\n')
     110                                                if 'https_proxy' in os.environ.keys():
     111                                                        https_proxy=os.environ['https_proxy']
     112                                                        data.write('https_proxy=%s\n'%https_proxy)
     113                                                if 'http_proxy' in os.environ.keys():
     114                                                        http_proxy=os.environ['http_proxy']
     115                                                        data.write('http_proxy=%s\n'%http_proxy)
    109116                                        for cron_line in cron_array:
    110117                                                data.write(cron_line.encode('utf8')+"\n")
Note: See TracChangeset for help on using the changeset viewer.