Minor README.md update
David Blume

David Blume commited on 2019-07-07 18:09:31
Showing 1 changed files, with 17 additions and 3 deletions.

... ...
@@ -10,8 +10,22 @@ process thread pings them one at a time, and prints any changes.
10 10
 
11 11
 ![Single Threaded Pings](http://dlma.com/images/python_pinger/ping_single_threaded.png)
12 12
 
13
-It's so simple that I'm not going to provide a sample source file,
14
-but for the others below, I will.
13
+The code for such a loop might look like this:
14
+
15
+    # results is a dict of ip_address -> last ping result
16
+    for address in results.keys():
17
+        result = ping(address)
18
+        if result != results[address]:
19
+            log(f'{time.strftime("%Y-%m-%d %H:%M:%S", now)} {address} {result}')
20
+            results[address] = result
21
+    time.sleep(delay)
22
+
23
+Logs go to a logfile, and example output looks like this:
24
+
25
+    2019-07-06 11:23:20 192.168.1.1 UP
26
+    2019-07-06 11:23:20 192.168.1.12 UP
27
+    2019-07-06 11:23:29 192.168.1.12 DOWN
28
+    2019-07-06 11:23:39 192.168.1.12 UP
15 29
 
16 30
 ### Upsides
17 31
 
... ...
@@ -22,7 +36,7 @@ Really simple code.
22 36
 Since the pings are serialized, one long timeout from one host could
23 37
 affect detecting a problem at another host.
24 38
 
25
-## Long Lived Workers Consuming from Queue
39
+## Long Lived Workers Consuming from a Queue
26 40
 
27 41
 Raymond Hettinger's [PyBay 2018 Keynote](https://pybay.com/site_media/slides/raymond2017-keynote/threading.html)
28 42
 uses the queue module to send data between threads, so I thought I'd make a
29 43