我使用Twisted框架为自己编写了一个不错的应用程序。我使用如下命令启动它:
twistd -y myapp.py --pidfile=/var/run/myapp.pid --logfile=/var/run/myapp.log
它很棒=)
要启动我的应用程序,我用此命令编写了一个脚本,因为我很懒^^但是由于我使用相同的扭曲选项启动了我的应用程序,并且我认为脚本外壳解决方案很丑陋,因此我可以在我的应用程序内部html" target="_blank">执行相同的操作?我想仅通过运行./myapp
而无需外壳解决程序来启动我的应用程序。
我试图在扭曲的文档中以及通过阅读扭曲的源代码来搜索它,但是由于它是我的第一个Python应用程序(很棒的语言,顺便说一句!),我不理解它。
在此先感谢您的帮助。
您需要twistd
从Twisted将脚本作为模块导入并调用它。使用您现有的命令行,最简单的解决方案是导入sys
模块以替换argv
命令行,使其看起来像您想要twistd
的运行方式,然后运行它。
这是一个简单的示例脚本,它将使用您现有的命令行并使用Python脚本而不是Shell脚本运行它:
#!/usr/bin/python
from twisted.scripts.twistd import run
from sys import argv
argv[1:] = [
'-y', 'myapp.py',
'--pidfile', '/var/run/myapp.pid',
'--logfile', '/var/run/myapp.log'
]
run()
如果您希望将其很好地捆绑到一个包中,而不是硬编码路径,则可以myapp.py
通过查看__file__
每个模块中Python设置的特殊变量来确定路径。将其添加到示例如下所示:
#!/usr/bin/python
from twisted.scripts.twistd import run
from my.application import some_module
from os.path import join, dirname
from sys import argv
argv[1:] = [
'-y', join(dirname(some_module.__file__), "myapp.py"),
'--pidfile', '/var/run/myapp.pid',
'--logfile', '/var/run/myapp.log'
]
run()
并且您显然可以做类似的事情来计算适当的pidfile和logfile路径。
一个更全面的解决方案是编写一个插件的twistd
。Axiom对象数据库项目中的公理命令行程序是一个经过测试的,有价值的示例,说明如何对上述内容执行类似的命令行操作twistd
,但是对命令行选项的处理更为全面,不同非扭转运行实用程序功能,等等。
问题内容: 什么是Twisted最接近的Java替代方案? 问题答案: 与斯蒂芬(Stephane)一样,我建议您看一下Mina。它是异步网络IO的框架。它建立在前面提到的NIO之上,并且IMO隐藏了与Selectors,Channels等有关的一些复杂性。我已经使用Mina进行了几个项目,其效果相当不错,但是请注意,我发现文档有些薄弱。再有,就像Stephane提到的那样,它并没有对太多协议的现
问题内容: 谁能推荐一些简单的代码来使用Twisted设置简单的JSON RPC客户端和服务器? 我找到了txJSON-RPC,但我想知道是否有人对使用这些anc有一定的经验可以推荐一些东西。 问题答案: txJSONRPC很棒。我使用它,并且有效。我建议您尝试一下。 客户: 作为奖励,我将保留一些替代方案:放大器。 http://amp-protocol.net
After Effects 包括大量扭曲效果,同时具有本机和第三方增效工具,用于图像的扭曲(变形)。变形效果的功能包括可校正或稳定含果冻效应扭曲的图像。 贝塞尔曲线变形效果 贝塞尔曲线变形效果可沿图层边界,使用封闭的贝塞尔曲线形成图像。曲线包括四段。每段有三个点(一个顶点和两个切点)。 Andrew Kramer 在其 Video Copilot 网站上提供了一个视频教程,用于演示如何使用贝塞尔曲
问题内容: websockets有趣的部分是从服务器向浏览器发送本质上未经请求的内容,对吗? 好吧,我正在使用GregorMüllegger的django-websocket。使Websockets在Django中工作确实是一个很棒的早期尝试。 我完成了“ helloworld”。它的工作方式是:当请求是websocket时,会将对象websocket附加到请求对象。因此,在解释websocket
我想像这样扭曲图像: 2013年4月8日新增:我使用了此代码,但无法正常工作:
然而,在我的测试中,似乎物理动画并不影响物体的实际位置。因此,轴保持静态(即使实际节点明显移动)。这导致扭矩总是从相同的方向施加(在场景启动时,无论z轴在哪里)。 我希望能够施加扭矩,使其相对于对象总是恒定的(例如,使节点绕节点的presentationNode的z轴逆时针旋转,而不是场景启动时节点的位置(has?))
问题内容: 我正在尝试使用扭曲的海螺在python中实现一个非常简单的文件传输客户端。客户端应该简单地以编程方式将一些文件传输到远程ssh / sftp服务器。该功能提供了用户名,密码,文件列表,目标服务器:目录,只需要以跨平台的方式进行身份验证和复制。 我已经阅读了有关Twisted的一些入门资料,并设法制作了自己的SSH客户端,该客户端仅在远程服务器上执行。我很难将其扩展到移动文件。我看了cf
问题内容: 我正在尝试开始学习如何创建套接字服务器。我想添加一些有用的功能(例如auth,也许还有其他一些功能)。也许有人可以给我指出一个很好的教程,这将帮助我入门(+也许还有其他一些想法) 问题答案: 看这里:60秒内扭曲的网。这是一组博客文章,逐步描述了如何使用Twisted做很多常见的事情,所有这些都是由Twisted的最大贡献者Jean- Paul Calderone撰写的。这确实是您应该