diff options
author | Vijay Venkatesh Kumar <vv770d@att.com> | 2022-11-17 14:51:38 -0500 |
---|---|---|
committer | Vijay Venkatesh Kumar <vv770d@att.com> | 2023-01-05 17:10:16 -0500 |
commit | 341b5bb2347c30344662675936b90b325efe5520 (patch) | |
tree | c5fa256f77cae915bd758a060b69e53c4039e7c1 /miss_htbt_service/mod/htbt_runtime_pid.py | |
parent | 2e840627a6b01475eb98b52f0a45593b4f2b8641 (diff) |
Heartbeat code refactoring
code optimization & test improvement
Issue-ID: DCAEGEN2-2953
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
Change-Id: I99229d966c13ad666ac994ab5a582aeeaa306639
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
Diffstat (limited to 'miss_htbt_service/mod/htbt_runtime_pid.py')
-rw-r--r-- | miss_htbt_service/mod/htbt_runtime_pid.py | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/miss_htbt_service/mod/htbt_runtime_pid.py b/miss_htbt_service/mod/htbt_runtime_pid.py new file mode 100644 index 0000000..d086ed2 --- /dev/null +++ b/miss_htbt_service/mod/htbt_runtime_pid.py @@ -0,0 +1,82 @@ +# ============LICENSE_START======================================================= +# Copyright (c) 2017-2023 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= + +""" +htbt_runtime_pid maintains a 'PID file' (file that contains the +PID of currently running trap receiver) +""" + +__docformat__ = "restructuredtext" + +import os + +prog_name = os.path.basename(__file__) + + +# # # # # # # # # # # # # +# fx: save_pid - save PID of running process +# # # # # # # # # # # # # +def save_pid(_pid_file_name): + """ + Save the current process ID in a file for external + access. + :Parameters: + none + :Exceptions: + file open + this function will catch exception of unable to + open/create _pid_file_name + :Keywords: + pid /var/run + """ + + try: + pid_fd = open(_pid_file_name, "w") + pid_fd.write("%d" % os.getpid()) + pid_fd.close() + except IOError: + print("IOError saving PID file %s :" % _pid_file_name) + return False + else: + return True + + +# # # # # # # # # # # # # +# fx: rm_pid - remove PID of running process +# # # # # # # # # # # # # +def rm_pid(_pid_file_name): + """ + Remove the current process ID file before exiting. + :Parameters: + none + :Exceptions: + file open + this function will catch exception of unable to find or remove + _pid_file_name + :Keywords: + pid /var/run + """ + + try: + if os.path.isfile(_pid_file_name): + os.remove(_pid_file_name) + return True + else: + return False + + except IOError: + print("Error removing Runtime PID file: %s" % _pid_file_name) + return False |