Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nrm
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
16
Issues
16
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
argo
nrm
Commits
2fe728db
Commit
2fe728db
authored
Nov 21, 2018
by
Valentin Reis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Feature] Added commandline arguments, config file management, power logging to
the nrm daemon.
parent
86a82d99
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
65 additions
and
6 deletions
+65
-6
Pipfile
Pipfile
+1
-0
bin/daemon
bin/daemon
+40
-1
doc/daemon.json
doc/daemon.json
+4
-0
nrm/daemon.py
nrm/daemon.py
+20
-5
No files found.
Pipfile
View file @
2fe728db
...
...
@@ -9,6 +9,7 @@ six = "==1.11.0"
pyzmq
=
"==16.0.4"
tornado
=
"==4.5.3"
numpy
=
"*"
argparse
=
"*"
[dev-packages]
pytest
=
"*"
...
...
bin/daemon
View file @
2fe728db
#!/usr/bin/env python2
import
argparse
import
json
import
sys
import
nrm
import
nrm.daemon
def
main
(
argv
=
None
):
if
argv
is
None
:
argv
=
sys
.
argv
conf_parser
=
argparse
.
ArgumentParser
(
description
=
__doc__
,
formatter_class
=
argparse
.
RawDescriptionHelpFormatter
,
add_help
=
False
)
conf_parser
.
add_argument
(
"-c"
,
"--configuration"
,
help
=
"Specify a config json-formatted config file that use any
\
CLI option. Any actually provided command-line options
\
will silently override a corresponding value from the
\
configuration file, if it exists."
,
metavar
=
"FILE"
)
conf_parser
.
add_argument
(
"-d"
,
"--print_defaults"
,
action
=
'store_true'
,
help
=
"Print the default configuration file."
)
args
,
remaining_argv
=
conf_parser
.
parse_known_args
()
defaults
=
{
"log"
:
"/tmp/argo_daemon.log"
,
"log_power"
:
"/tmp/argo_daemon_power.log"
}
if
args
.
print_defaults
:
print
defaults
return
(
0
)
if
args
.
configuration
:
defaults
.
update
(
json
.
load
(
open
(
args
.
configuration
)))
parser
=
argparse
.
ArgumentParser
(
parents
=
[
conf_parser
])
parser
.
set_defaults
(
**
defaults
)
parser
.
add_argument
(
"--log"
,
help
=
"Main log file."
,
metavar
=
"FILE"
)
parser
.
add_argument
(
"--log_power"
,
help
=
"Power data log file (High throughput)."
,
metavar
=
"FILE"
)
args
=
parser
.
parse_args
(
remaining_argv
)
nrm
.
daemon
.
runner
(
config
=
args
)
return
(
0
)
if
__name__
==
"__main__"
:
nrm
.
daemon
.
runner
(
)
sys
.
exit
(
main
()
)
doc/daemon.json
0 → 100644
View file @
2fe728db
{
"log"
:
"/tmp/daemon_log.log"
"log_power"
:
"/tmp/daemon_power.log"
}
nrm/daemon.py
View file @
2fe728db
...
...
@@ -20,11 +20,12 @@ RPC_MSG = MSGTYPES['up_rpc_rep']
PUB_MSG
=
MSGTYPES
[
'up_pub'
]
logger
=
logging
.
getLogger
(
'nrm'
)
logger_power
=
logging
.
getLogger
(
'power'
)
class
Daemon
(
object
):
def
__init__
(
self
):
def
__init__
(
self
,
config
):
self
.
target
=
100.0
self
.
config
=
config
def
do_downstream_receive
(
self
,
parts
):
logger
.
info
(
"receiving downstream message: %r"
,
parts
)
...
...
@@ -316,8 +317,22 @@ class Daemon(object):
ioloop
.
IOLoop
.
current
().
start
()
def
runner
():
def
runner
(
config
):
ioloop
.
install
()
logging
.
basicConfig
(
level
=
logging
.
DEBUG
)
daemon
=
Daemon
()
logger
.
setLevel
(
logging
.
DEBUG
)
logger_power
.
setLevel
(
logging
.
DEBUG
)
if
config
.
log
:
print
(
"Logging to %s"
%
config
.
log
)
logger
.
addHandler
(
logging
.
FileHandler
(
config
.
log
))
if
config
.
log_power
:
print
(
"Logging power data to %s"
%
config
.
log_power
)
formatter
=
logging
.
Formatter
(
'%(message)s'
)
handler
=
logging
.
FileHandler
(
config
.
log_power
)
handler
.
setFormatter
(
formatter
)
logger_power
.
addHandler
(
handler
)
daemon
=
Daemon
(
config
)
daemon
.
main
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment