[Twisted-Python] twisted windows service
Hi, I copied the code from: http://twistedmatrix.com/pipermail/twisted-python/2007-May/015377.html and it ran ok. And then I followed David's advice from here: http://twistedmatrix.com/pipermail/twisted-python/2007-May/015383.html to use threading.Event to control server's stop, it ran ok too. But David's boot_service.py just could install the service, error on start (error 1063). Any help? One more question, who can fill in David's 'py2exe' setup file more codes to guide me moving to next step? David, are you there? :) Thanks.
On Fri, Aug 28, 2009 at 7:49 PM, 陶艺夫
Hi, I copied the code from: http://twistedmatrix.com/pipermail/twisted-python/2007-May/015377.html and it ran ok. And then I followed David's advice from here: http://twistedmatrix.com/pipermail/twisted-python/2007-May/015383.html to use threading.Event to control server's stop, it ran ok too. But David's boot_service.py just could install the service, error on start (error 1063). Any help? One more question, who can fill in David's 'py2exe' setup file more codes to guide me moving to next step? David, are you there? :)
Thanks.
看你的名字,我认为我写中文你应该能看懂。 我给你段可以通用的代码吧。 首先,是一个你要编译成ntservice的模块的文件。似设abcservice.py ,内容如下 #coding=utf-8 import win32serviceutil import os import sys import win32api sys.path = sys.path + [os.path.dirname(win32api.GetModuleFileName(0))] import server class PowerService(win32serviceutil.ServiceFramework): _svc_name_ = "Your Service Name" _svc_display_name_ = "Your Service Display Name" _svc_description_ = unicode(""" 这里可以写多行的中文。 也可以写 作者:你的名字。 因为文件是utf-8的,在这里,要把中文转成gb2312,才能在windows里正常显示. """,'utf-8').encode('gb2312') def SvcDoRun(self): server.start() def SvcStop(self): server.stop() if __name__ == '__main__': win32serviceutil.HandleCommandLine(PowerService) 用把这个程序打包成.exe以后,它就是一个可以通用的启动服务的程序了。 你的不同程序,只要在同一目录下,修改你的server.py文件,就可以了。 下面举例一个server.py #coding=utf-8 from twisted.internet import reactor def start(): reactor.run(installSignalHandlers=0) def stop(): reactor.callFromThread(reactor.stop) 下面是py2exe打包用的setup.py文件内容 rom distutils.core import setup import py2exe import sys setup(name='service name', version='1.0', author='your name', service=['abcservice']) print "---Done---" 然后用python setup.py py2exe命令打包。 打包好以后,就可以直接发布了。 如果缺什么模块,直接复到到abcservice.exe文件所有目录就行。 如果你的程序修改什么,只直接修改好代码,放在目录下就行。修改程序不用重新py2exe打包。 * *
2009/8/29 Glyph Lefkowitz
On Sat, Aug 29, 2009 at 2:52 AM, 头太晕
wrote: 看你的名字,我认为我写中文你应该能看懂。 我给你段可以通用的代码吧。
这是正确的,但在这个名单很多人(包括我自己在内)无法读取中。
在未来,请为我们其他人的利益,在英国的职位。
不过,我们很高兴地看到,扭曲了中国的用户! :)
(谢谢你,谷歌翻译。我很抱歉,如果这无法真正为在中国的感觉。)
The Chinese message by google translate is not readable. But I know what you said. Most people in China can read English. But some of people (include me) can't express our selves clearly in English.
The translation is very funny, it will confuse Chinese reader totally
although I can understand what you mean (translate it back to english in my
mind to figure it out) :))
For example, the meaning of the last line in Chinese will be:
"Anyway, we're glad to see the Chinese users who have been twisted"...
Hahaha, LOL.
No offense, the google translation is so funny.
2009/8/29 Glyph Lefkowitz
On Sat, Aug 29, 2009 at 2:52 AM, 头太晕
wrote: 看你的名字,我认为我写中文你应该能看懂。 我给你段可以通用的代码吧。
这是正确的,但在这个名单很多人(包括我自己在内)无法读取中。
在未来,请为我们其他人的利益,在英国的职位。
不过,我们很高兴地看到,扭曲了中国的用户! :)
(谢谢你,谷歌翻译。我很抱歉,如果这无法真正为在中国的感觉。)
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Yes, I can read Chinese. Thank you for your help.
For respecting all friends in the list, I reply you still in English :)
2009/8/29 头太晕
On Fri, Aug 28, 2009 at 7:49 PM, 陶艺夫
wrote: Hi, I copied the code from: http://twistedmatrix.com/pipermail/twisted-python/2007-May/015377.htmland it ran ok. And then I followed David's advice from here: http://twistedmatrix.com/pipermail/twisted-python/2007-May/015383.html to use threading.Event to control server's stop, it ran ok too. But David's boot_service.py just could install the service, error on start (error 1063). Any help? One more question, who can fill in David's 'py2exe' setup file more codes to guide me moving to next step? David, are you there? :)
Thanks.
看你的名字,我认为我写中文你应该能看懂。 我给你段可以通用的代码吧。
首先,是一个你要编译成ntservice的模块的文件。似设abcservice.py ,内容如下
#coding=utf-8 import win32serviceutil import os import sys import win32api sys.path = sys.path + [os.path.dirname(win32api.GetModuleFileName(0))] import server
class PowerService(win32serviceutil.ServiceFramework): _svc_name_ = "Your Service Name" _svc_display_name_ = "Your Service Display Name" _svc_description_ = unicode(""" 这里可以写多行的中文。 也可以写 作者:你的名字。 因为文件是utf-8的,在这里,要把中文转成gb2312,才能在windows里正常显示. """,'utf-8').encode('gb2312')
def SvcDoRun(self): server.start()
def SvcStop(self): server.stop()
if __name__ == '__main__': win32serviceutil.HandleCommandLine(PowerService)
用把这个程序打包成.exe以后,它就是一个可以通用的启动服务的程序了。 你的不同程序,只要在同一目录下,修改你的server.py文件,就可以了。
下面举例一个server.py
#coding=utf-8 from twisted.internet import reactor
def start(): reactor.run(installSignalHandlers=0)
def stop(): reactor.callFromThread(reactor.stop)
下面是py2exe打包用的setup.py文件内容
rom distutils.core import setup import py2exe
import sys
setup(name='service name', version='1.0', author='your name', service=['abcservice'])
print "---Done---"
然后用python setup.py py2exe命令打包。 打包好以后,就可以直接发布了。 如果缺什么模块,直接复到到abcservice.exe文件所有目录就行。 如果你的程序修改什么,只直接修改好代码,放在目录下就行。修改程序不用重新py2exe打包。 *
*
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
participants (3)
-
Glyph Lefkowitz
-
头太晕
-
陶艺夫