ateska / ramona Goto Github PK
View Code? Open in Web Editor NEWEnterprise-grade runtime supervisor
Home Page: http://ateska.github.com/ramona/
License: BSD 2-Clause "Simplified" License
Enterprise-grade runtime supervisor
Home Page: http://ateska.github.com/ramona/
License: BSD 2-Clause "Simplified" License
Ramona currently used file size based log rotation. This can however lead to situation when log file is flooded, rotated and deleted very quickly (maybe using intentional attack).
Possible resolution:
ValueError: invalid version number '3.4.0rc1'
It happens that logs managed by Ramona obviously stops writing in a middle of a text and that some of the log output has not been flushed. Logs are not complete until next buffer is written to output. Please enable more frequent flushing.
Value of config.get('ramona:notify', 'receiver') is used in:
These two uses are not aligned and maybe even in conflict (sendmail.py allows to specify list of receivers).
This has to be united, sendmail.py should be dominant provider of parsed values. notify.py should read that from sendmail.py.
But in given time window (e.g. one restart per day should not 'count'). This should prevent eventual burst of restarts.
This is maybe somehow connected with 'STARTING' mode -- but maybe not ...
This has not been tested yet but based on source code analysis, logbackups counter is removing files in a different way than it is documented.
This needs to be tested and unified (change of documentation or change of code).
Pyev dropped win32 support in version 0.9 (recent) - also this is actually redundant dependency that can be removed easily.
Web console is now refreshing itself in pre-defined time intervals. This can be even enhanced (with graceful degradation to current behaviour) by utilising some modern 'push' or 'comet' approaches, where server is pro-actively notifying browser about changes in application states.
Target of this enhancement is to enhance web console page to be 'live' using 'push' notifications from server.
Consider using websockets or other features of HTML5.
[env]
FOO=bar
[env:alternative1]
BAR=foo
[program:one]
# Uses [env]
[program:two]
# Uses [env:alternative1]
env=&alternative1
Ramona server should be able to send emails (or launch arbitrary command) in case of:
Emails can be eventually aggregated to avoid flooding/spaming admin - e.g. send collected warnings from logs just once per day.
https://github.com/ateska/ramona/blob/master/ramona/socketuri.py#L128
assert not os.path.isfile(fname)
os.path.isfile
always returns False on a unix socket file (at least in my system):
>>> sys.version
'2.7.3 (default, Mar 13 2014, 11:03:55) \n[GCC 4.7.2]'
>>> os.path.exists("unix.sock")
True
>>> os.path.isfile("unix.sock")
False
>>>
I think, you should consider changing this assertion, as it always succeed.
-=[ EXITED on 2013-09-22 19:03:22 0 ]=-
-=[ STARTING by Ramona on 2013-09-22 19:03:22 ]=-
into
-=[ foobarapp EXITED on 2013-09-22 19:03:22 0 ]=-
-=[ foobarapp STARTING by Ramona on 2013-09-22 19:03:22 ]=-
In addition to [program:...] logscan_stdout and logscan_stderr
in [ramona:notifications]
logscan=...
logscan_stdout=...
logscan_stderr=...
"Who" command (shortcut "w") should give a list of all connected consoles.
Command python setup.py egg_info failed with error code 1 in C:...\pyev
Exception information:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\pip-1.1-py2.7.egg\pip\basecommand.py", line 104, in main
status = self.run(options, args)
File "C:\Python27\lib\site-packages\pip-1.1-py2.7.egg\pip\commands\install.py", line 245, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "C:\Python27\lib\site-packages\pip-1.1-py2.7.egg\pip\req.py", line 1009, in prepare_files
req_to_install.run_egg_info()
File "C:\Python27\lib\site-packages\pip-1.1-py2.7.egg\pip\req.py", line 225, in run_egg_info
command_desc='python setup.py egg_info')
File "C:\Python27\lib\site-packages\pip-1.1-py2.7.egg\pip__init__.py", line 256, in call_subproce
ss
% (command_desc, proc.returncode, cwd))
InstallationError: Command python setup.py egg_info failed with error code 1 in C:...\pyev
I've just started looking at Ramona, and one of the first things I wanted to do -- after getting a service up and running -- was enable the http frontend to see what that looked like.
I wasn't able to find any way of loading a new configuration into Ramona. There doesn't appear to be any sort of reload
command, and trying the typical kill -HUP
solution simple caused Ramona to exit, while leaving my service running (which of course prevented Ramona from subsequently starting it up until I killed it manually).
I also wasn't able to figure out how to cause the Ramona server to exit, other than by running ps
, looking for the ramona server, and then kill it by pid
.
eventual HTTP frontend is subprocess using standard socket API to communicate with daemon
Currently, it is not possible to reload Ramona configuration without stopping Ramona Server (and processes controlled by Ramona). Please make a command for reload config.
OS: Win7 32bit
Python: 2.7.5
When I run command "start", there is an error 'module' object has no attribute 'fork'.
How can I run ramona on windows?
Mainly to test SMTP notification config but maybe also for other admin purposes.
Should support targeting (now, daily, weekly, etc.)
New command 'notify'
New notifications (program state -> FATAL)
New configuration options:
Currently, the stash is only kept in memory and is therefore lost once Ramona process is restarted. It should be persisted into a file to avoid loosing email notifications.
... starting from highest priority to lowest.
Now they use relative ones ...
Equivalent for 'restart' command
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.