def cronjob(sched_id, cmd_id): db_model = Model() devices = db_model.get_schedule_active_devices(sched_id, 'iled', 'iled') if not devices: return with open(cache_json_path, 'r') as fin: json = json_load(fin) cmd_name = json['command_names'][str(cmd_id)] errors = [] succeeded = [] dev_ids_to_update = [] for dev_id, dev_name, password in devices: # call worker.py res = handle_request( vendor='iled', model='iled', dev_name=dev_name, password=password, command=cmd_id ) if res['status'] != 'OK': errors.append({ 'dev_name': dev_name, 'status': res['status'], 'reason': res['message'] }) else: dev_ids_to_update.append(dev_id) succeeded.append(dev_name) if errors: json = json_dumps({'schedule_id' : sched_id, 'vendor' : 'iled', 'model' : 'iled', 'command': cmd_name, 'errors' : errors}) db_model.insert_log('schedule_error', json, 1) if dev_ids_to_update: db_model.update_device_status(dev_ids_to_update, cmd_id=cmd_id, dstat_name='active') db_model.cleanup()
def _cronjob(sched_id): db_model = Model() devices = db_model.get_schedule_active_devices(sched_id, 'nasys', 'ul2011') sched_cmd_data = generate_schedule(sched_id) cmd = 'send_custom_command' msg = json_dumps(sched_cmd_data) errors = [] succeeded = [] for _dev_id, dev_name, password in devices: res = handle_request(vendor='nasys', model='ul2011', dev_name=dev_name, password=password, command=cmd, parameter=msg) if res['status'] != 'OK': errors.append({ 'dev_name': dev_name, 'status': res['status'], 'reason': res['message'] }) else: succeeded.append(dev_name) if errors: json = json_dumps({ 'schedule_id': sched_id, 'vendor': 'nasys', 'model': 'ul2011', 'errors': errors }) db_model.insert_log('schedule_error', json, 1) db_model.cleanup()