twisted学习笔记4 部署Twisted 应用程序
原创博文,转载请注明出处。
Twisted是一个可扩展,跨平台的网络服务器和客户端引擎。
Twisted Application 框架有五个主要基础部分组成:服务,应用程序,TAC文件插件和twisted命令行组件(原文:services, applications, TAC file,plugins, and the twistd command-line utility)。
官方文档: 点击进入
网上有一篇国人翻译的,版本是11年的了,而且我感觉翻译的总体效果一般,建议大家直接直接入手英文文档,因为毕竟英文有些东西是翻译所无法精确表达的。
我是结合Twisted Network Programming Essentials, Second Edition 和官方文档一起学习的,由于这方面的中文资料比较少(应该说是相当少),学习起来还是挺困难的。
首先在我看来Twisted Application 更像是把twisted程序模块化,有点类似面向对象的感觉。这样带来的好处就是免去了编写重复的样本代码,可复用性提高。
有两种方式来部署twisted Application : TAC files 和 Plugins。
TAC files 更简单,扩展性相对而言差,对于构建简单的服务器可以利用Twisted 内嵌的部署特性,如 记录和守护进程。
Plugins 需要更高的初试开发成本但是可以提供一个清晰的API来扩展你的应用程序。Plugins对于那些需要稳定的接口作为第三方开发者的application是理想的。
你可以通过 twisted --help 来获取所有的命令。
twisted.python.usage 是一个用来解析和处理命令行的模块,
from twisted.python import usage class Options(usage.Options):
optFlags = [["fast", "f", "Act quickly"], ["safe", "s", "Act safely"]]
optFlags and optParameters are lists of available parameters which your program can handle. The difference between the two is the 'flags' have an on(1) or off(0) state (off by default) whereas 'parameters' have an assigned value, with an optional default. (Compare '--verbose' and '--verbosity=2')
optFlags is assigned a list of lists. Each list represents a flag parameter,如上面例程所示,optFlags中第一个元素是长名字,在命令行中 以 “ --fast ”形式使用,第二个元素是短名字,以 “ -f ” 的形式使用,第三个元素是该标记的描述并用来生成usage信息文本。长名字决定了在Options实例中设置的密钥名称。
Its value will be 1 if the option was seen, 0 otherwise.
未完待续
twisted学习笔记4 部署Twisted 应用程序的更多相关文章
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...
- C#.NET学习笔记2---C#.第一个C#程序
C#.NET学习笔记2---C#.第一个C#程序 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com 6.第一个C#程序: ...
- 20180821 Python学习笔记:如何获取当前程序路径
20180821 Python学习笔记:如何获取当前程序路径 启动的脚本的路径为:D:\WORK\gitbase\ShenzhenHouseInfoCrawler\main.py 当前脚本的路径为:D ...
- Spring实战第五章学习笔记————构建Spring Web应用程序
Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那 ...
- Spark学习笔记1——第一个Spark程序:单词数统计
Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...
- twisted学习笔记No.3 Web Clients
原创博文,转载请注明出处. 这一章我们学习利用twisted建立web 客户端. twisted.web.client.getPage用来异步下载一个页面,并且返回一个deferred from tw ...
- twisted学习笔记 No.1
原创博文,转载请注明出处 . 1.安装twisted ,然后安装PyOpenSSL(一个Python开源OpenSSL库),这个软件包用于给Twisted提供加密传输支持(SSL).最后,安装PyCr ...
- twisted学习笔记 No.2 WebServer
原创博文,转载请注明出处. 当服务器接收到一个客户端请求后,会创建一个请求对象并传递到资源系统,资源系统会根据请求路径分发到相应的资源对象,资源被要求渲染自身并返回结果到客户端. 解析HTTP Req ...
- Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(一)
上一节演示如何安装Docker,链接:Docker学习笔记之-在CentOS中安装Docker 本节演示 将.net core 3.1 部署到docker容器当中,并使用 Nginx反向代理,部署平台 ...
随机推荐
- PHP图片等比缩放,并添加Logo水印特定代码和盯
<? php //PHP图片等比缩放,并添加Logo水印 --->百度 "美日汇" /** * 等比缩放函数(以保存的方式实现) * @param string $pi ...
- React实践(一)
该实践取自官方教程:https://github.com/reactjs/react-tutorial 主要是自实现的过程以及一些心得体会 该实践是实现一个评论框. 一个展示所有评论的视图 一个提交评 ...
- 使用Mockito进行单元测试【2】—— stub 和 高级特性[转]
一篇中介绍了Mockito的基本信息,现在接着介绍Mockito强大的stub功能 2. Mockito使用实例 5. 对连续的调用进行不同的返回 (iterator-style stubbing) ...
- 汉字转拼音 oracle方式 [转]
oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) 效果如下: Oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下 Sql代码 --oracle汉字转拼音 PA ...
- 一些有用的javascript实例分析(二)
原文:一些有用的javascript实例分析(二) 5 求出数组中所有数字的和 window.onload = function () { var oBtn = document.getElement ...
- hdu Diophantus of Alexandria(素数的筛选+分解)
Description Diophantus of Alexandria was an egypt mathematician living in Alexandria. He was one of ...
- 教你一步一步部署.net免费空间OpenShift系列之三------上传ASP.net程序
接上回书,创建应用后,我们如何将自己的ASP.Net部署到应用空间呢,这里用WinSCP的SFTP协议进行上传和下载 上传ASP.net程序 下载WinSCP,并打开PuTTYGen 点击Genera ...
- CSS3火焰文字特效制作教程
原文:CSS3火焰文字特效制作教程 用一句很俗气的话概括这两天的情况就是:“最近很忙”,虽然手头上有不少很酷的HTML5和CSS3资源,但确实没时间将它们的实现过程写成教程分享给大家.今天刚完成了一个 ...
- winhec
#winhec# 开发人员刷屏看点 (视频) 今天大家已经被winhec刷屏了,本来不想写这篇了,但看了所有的文章,大家关注的都是windows 10的那些新功能,小米win10刷机,联想千元手机,小 ...
- 什么是MEAN全堆栈javascript开发框架
什么是MEAN全堆栈javascript开发框架 使用JavaScript能够完整迅速做出Web应用程序,目前一套工具包括MongoDB.ExpressJS,AngularJS和Node.js越来越受 ...