LEFT | RIGHT |
1 # coding: utf-8 | 1 # coding: utf-8 |
2 | 2 |
3 # This file is part of the Adblock Plus web scripts, | 3 # This file is part of the Adblock Plus web scripts, |
4 # Copyright (C) 2006-2015 Eyeo GmbH | 4 # Copyright (C) 2006-2015 Eyeo GmbH |
5 # | 5 # |
6 # Adblock Plus is free software: you can redistribute it and/or modify | 6 # Adblock Plus is free software: you can redistribute it and/or modify |
7 # it under the terms of the GNU General Public License version 3 as | 7 # it under the terms of the GNU General Public License version 3 as |
8 # published by the Free Software Foundation. | 8 # published by the Free Software Foundation. |
9 # | 9 # |
10 # Adblock Plus is distributed in the hope that it will be useful, | 10 # Adblock Plus is distributed in the hope that it will be useful, |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 # Update the geometrical_mean aggregations in the database | 86 # Update the geometrical_mean aggregations in the database |
87 interval = config.get("filterhitstats", "interval") | 87 interval = config.get("filterhitstats", "interval") |
88 try: | 88 try: |
89 db_connection = db.connect() | 89 db_connection = db.connect() |
90 try: | 90 try: |
91 db.write(db_connection, geometrical_mean.update(interval, data)) | 91 db.write(db_connection, geometrical_mean.update(interval, data)) |
92 finally: | 92 finally: |
93 db_connection.close() | 93 db_connection.close() |
94 except: | 94 except: |
95 # Updating the aggregations in the database failed for whatever reason, | 95 # Updating the aggregations in the database failed for whatever reason, |
96 # log the details but continue to return 200 OK to the client to avoid | 96 # log the details but continue to return 204 to the client to avoid the |
97 # re-transmission of the data. | 97 # re-transmission of data. |
98 processing_error_log = os.path.join(config.get("filterhitstats", "log_dir"), | 98 processing_error_log = os.path.join(config.get("filterhitstats", "log_dir"), |
99 "processing-errors.log") | 99 "processing-errors.log") |
100 with open(processing_error_log, "a+") as f: | 100 with open(processing_error_log, "a+") as f: |
101 message = "Problem processing data file %s:\n%s" % ( | 101 message = "Problem processing data file %s:\n%s" % ( |
102 log_file, traceback.format_exc() | 102 log_file, traceback.format_exc() |
103 ) | 103 ) |
104 print >> f, "[%s] %s" % (datetime.now().strftime("%d/%b/%Y:%H:%M:%S %z"),
message) | 104 print >> f, "[%s] %s" % (datetime.now().strftime("%d/%b/%Y:%H:%M:%S %z"),
message) |
105 | 105 |
106 # Send back a 200 OK response | 106 # Send back a 204 No Content |
107 start_response("200 OK", []) | 107 start_response("204 No Content", []) |
108 return [] | 108 return [] |
LEFT | RIGHT |