Skip to content

Error Counter: Count error (e.g. network error) beyond process boundary, then issue fix command when exceeded threshold.

License

Notifications You must be signed in to change notification settings

UedaTakeyuki/error_counter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

error-counter

Error Counter: Count error (e.g. network error) beyond process boundary, then issue fix command when exceeded threshold.

How to use

import requests
from error_counter import Counter

# reboot system when error accumulate 3 times in a low
network_error_counter = Counter("/tmp/network_error.txt")

try:
	r = requests.post(somowhere, somewhat)
except requests.ConnectionError as e:
	network_error_counter.inc_error()

if not r is None:
	# send succeeded.
	network_error_counter.reset_error()

Counter class

class Counter:
  def __init__(self, counterfile, reset_task="sudo reboot", reset_threshold=3):

#  counterfile: file name to use counter. The file is owned jointly by sevelal Counter beyond process boundary.

#  reset_task: shell command which is issued when error count is over the threshold.

#  reset_threshold: Threshold for reset_task.

  def inc_error(self):
  #	Increment error count then issue reset_task if count is over threshold

  def dec_error(self):
  # Decrement error count as 0

  def reset_error(self):
  # Reset error count as 0

downloads

Downloads Downloads Downloads

history

  • 0.1.0 2018.11.18 first version

About

Error Counter: Count error (e.g. network error) beyond process boundary, then issue fix command when exceeded threshold.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages