[Twisted-Python] twisted windows service

陶艺夫 artman328 at gmail.com
Sat Aug 29 10:11:21 EDT 2009


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 头太晕 <torrycn at gmail.com>

>
>
> On Fri, Aug 28, 2009 at 7:49 PM, 陶艺夫 <artman328 at gmail.com> 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 at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-python/attachments/20090829/c58516d8/attachment-0001.htm 


More information about the Twisted-Python mailing list