是否可以在python中使用fileConfig更改日志级别而无需重新启动应用程序.如果无法通过fileConfig实现,还有其他方法可以获得相同的结果吗?
更新:这是针对在服务器上运行的应用程序,我希望系统管理员能够更改应用程序在运行时选择的配置文件,并动态更改日志级别.我当时正在使用gevent,因此我添加了我的代码作为使用inotify选择配置文件更改的答案之一.
对图表数据库有疑问,有人能帮帮我吗?我在mysql中处理了大量关于设备,接入点,无线网桥等路由器每天发送的5M记录的数据.数据通常是健康数据,gps等......这些是车辆上的设备.如何处理图数据库中基于时间的数据?有没有人将neo4j用于基于时间的数据?知道如何查询间隔以及如何进行建模会很棒.
我想我每次都可以创建一个节点,每次收到属性设置的数据,比如改变gps,健康?这将是一个基于时间的图表 - 听起来不错吗?好吧5M行mysql表现不好 - 但随着路由器获得新功能,新数据通过,我需要再次创建新模型,这不是坏事但不是很好.我想要一些半结构化的东西,并且使得与用户被踢出的原因相关的不同之处是因为与路由器相关联的接入点已关闭.我通常的疑问是提醒警报说设备中的一个已经关闭或者吞吐量降低等等.neo4j会帮助我比mysql更好地结合这些关系吗?
很想知道你们的想法,任何评论和想法都赞赏.
我有一些旧的代码,它在Web API上公开服务,它基本上用于HTTP动词.我想将此项目移至使用超媒体控件(HATEOAS).我想知道是否有任何库已经支持根据HAL或JSON-LD规范在子资源的资源表示中嵌入链接.我用Google搜索了但我找不到任何东西.很高兴知道Yesod,Snap或Happstack等成熟项目是否计划支持此功能?
编辑:为了澄清,我对REST成熟度模型的第3级感兴趣
首先,我对Haskell很新 - 但我必须说自从我开始玩它以来我爱上了这门语言.我做了大量的C,Java,python和perl.Haskell肯定在我身上成长.我在perl/python中编写了一个web应用程序/服务,用于我的一个个人项目 - 我想知道我是否可以将它作为一个有趣的项目转移到haskell并做一些haskell hackery来看它是如何演变的.
我知道haskell中有一些优秀的Web应用程序框架.我想做的是有一个用haskell编写的服务,它将以不同的格式(SOAP,REST-xml,REST-json)响应数据.我使用javascript来构建DOM等等.所以我的问题是,我可以使用任何库来动态转换数据的格式吗?或者考虑到场景你将如何在haskell中进行?
自2008年以来,我没有玩过这个项目,我最初的想法是使用java社区的apacheCXF并在java中编写所有代码.但我很乐意在哈斯克尔做这件事.有什么提示吗?
我不确定这是否可行,但我正在寻找一种在连接丢失时重新连接到mysql数据库的方法.所有连接都保存在gevent队列中,但我认为这无关紧要.我敢肯定,如果我花一些时间,我可以想出一种方法来重新连接到数据库.但是我看了一下pymysql代码,我看到Connection类中有一个'ping'方法,我不确定如何使用它.
该方法看起来会在第一次重新连接,但之后又将重新连接标志再次切换为False?我可以使用这种方法,还是有不同的方法来建立连接丢失?即使不是pymysql,人们如何处理,数据库服务器崩溃并且不得不重新建立与mysql服务器的连接?
def ping(self, reconnect=True):
''' Check if the server is alive '''
if self.socket is None:
if reconnect:
self._connect()
reconnect = False
else:
raise Error("Already closed")
try:
self._execute_command(COM_PING, "")
return self._read_ok_packet()
except Exception:
if reconnect:
self._connect()
return self.ping(False)
else:
raise
Run Code Online (Sandbox Code Playgroud) 我有一个支持python 2.4,2.6和2.7的构建盒.这导致在他们自己的python安装中根据需要安装各种版本的pips.我正在使用tox测试setup.py.
每当我运行一个时{python2.7_installation_dir}/bin/python setup.py test,这会产生一个.tox目录.在.tox我运行的目录中
py27/bin/pip --version
pip 1.4.1 from {my_package}/.tox/py27/lib/python2.7/site-packages (python 2.7)
[buildbot@BUILD-SERV-01 .tox]# python2.7
Python 2.7.6 (default, Nov 20 2013, 15:33:09)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pip
>>> pip.__version__
'1.5.2'
Run Code Online (Sandbox Code Playgroud)
所以.tox目录中的pip版本是1.4.1,其中为我用来执行的python解释器安装的pip setup.py test是1.5.2.这在运行测试时会导致错误,因为它使用pip来安装目录,其中一些来自外部源,而在1.5.2中我们需要为其中一个模块明确设置--allow-external --allow-unverified标志.在1.4.1中不存在,每次通过tox调用测试时都会导致错误.
只有一个python2.7安装,它是从源安装的.但我认为它正在运行pip 1.4.1,但现在已升级为使用1.5.2.如何使用旧版本?是否有任何.pth可能遗留下来的文件或内容需要清理?
我可以tox直接放下并运行pytests,但我更喜欢通过它运行它们tox.
如果您想查看日志,请告诉我,我可以使用日志更新问题.
在函数作为参数传入的上下文中,如何为flow中的函数定义类型?例如,afterDoneSomething下面是回调函数,它已经通过了 - 我不知道我是如何用流定义它的类型的.
function doSomething(path:string, afterDoneSomething:<What is the Type>)
Run Code Online (Sandbox Code Playgroud) 假设架构类似,有没有办法生产独立的haskell可执行文件在不同的Linux机器上运行?
对不起,我应该更清楚了.其他机器可能没有安装ghc - 有点像python的pyinstaller是我正在寻找的?
任何人都可以找到这个@property装饰器的问题吗?我似乎无法正确断言.我确定我做了一些非常简单的事情,但是有人能指出我疲惫的眼睛朝着正确的方向吗?
class A:
def __init__(self):
self.a = 0
self._b = 0
@property
def b(self):
return self.b
@b.getter
def b(self):
if self._b is None:
return 0
return self._b
@b.setter
def b(self, val):
self._b = (val * 20)
def test_getter_setter():
obj = A()
obj.a = 1
#obj.b = 2
print obj.a, obj.b
obj.b = 2
print obj.a, obj.b
assert obj.b == 40
test_getter_setter()
Run Code Online (Sandbox Code Playgroud) 是否有任何可以在基于gevent的守护进程上使用的分析器(代码可以永久循环)?它不是基于HTTP的守护进程,它用于后端目的.我查看了几个基于gevent的代码的不同潜在分析器,但它们看起来都只运行了一段时间并且退出的代码.