sanic

追女孩子太难了

故事扮演 提交于 2020-10-02 22:15:22
一、近期总结 2020年5月9号凌晨,又梦到你了。早晨我和你说了这个事情。。。这已经是连续2天梦到你了。累计应该是4次+了。 当天晚上一起下班了。路上你一直戴着耳机。虽然我说话你能听到而且去往地铁站的路上有交流,但是我觉得你对我无感,不然不会一路上一直戴着耳机。你戴着耳机,我也不知道该和你聊什么。等红绿灯的时候,你说:“我们又不顺路”。那一瞬间我心里挺难受的。我想和你说:我喜欢你,我喜欢和你走在一起的感觉,喜欢看你的笑。但是我不知道你的心,我怕我说了之后会更加尴尬。 2020年5月10号,加班出月报。中午leader请客。你摘下了口罩。终于看到你的脸了。都已经好几个月都没有看到了。看到的时候心都快跳出来的。 2020年5月11日,好像是这个日子。出月报,发现神兵文档有bug,我就和你说了这个事情。当时你的反映让我觉得我有点多余。我觉得我很难受。 2020年5月11日,好像是这个日子。内部发口罩,外包没有。一个同事非要给我口罩。真的很感谢,但是真的不需要。但是没有办法,到了那个程度了,如果再不要,似乎显得我对她有意见似的。我没数,但是数量应该在5-8个或者8个左右。我不喜欢这样,所以当天晚上就下单买了东西,准备给她一点。 2020年5月12号,整天都没有交流。下班时,我先走的,不过我没有背包,你后走的。 2020年5月12号,买的商品已经到了快递柜。 2020年5月13号,出门前

年终课程盘点|16 个 Python 综合实战项目合集

天涯浪子 提交于 2020-08-17 08:46:08
今天,就来给大家盘点一下,2019 年实验楼的 Pyhton 项目里,最值得一做的几个项目。 警告: 本来只想推荐几个课程的,但 Python 的好项目实在是太多了!无法割舍,最后决定推荐 16 个。 这些课程要么特别实用,要么特别装逼,拿来武装自己的简历再好不过了。如果你也不巧中了学习的毒,过年在家沉迷其中,代码撸得飞起,面对家人、朋友的指责,请不要甩锅给我们,请正大光明地告诉他们: Python 项目 1. Python 数据分析入门与进阶(数据分析方向) 通过 Python 数据分析和算法,实现【苹果公司股票分析、实验楼课程数据统计、用户情绪分析、潜在客户分析】等项目: https://www.shiyanlou.com/courses/764 2. Flask + VueJS 全栈 Web 开发实战(Web开发方向) 使用 Python 的 Flask 框架和 VueJS,通过两个实战项目留言板项目和论坛应用的练习,掌握 Flask + VueJS 进行 Web 开发的能力。 https://www.shiyanlou.com/courses/878 3. Python 实现搜索引擎(爬虫+Web框架) 利用 Python 异步特性实现异步爬虫系统,一步一步地将构建索引、索引压缩、排名算法等环节编码实现,最后利用异步 web 框架 sanic

docker打包python应用

旧时模样 提交于 2020-08-13 12:08:07
操作系统 : CentOS7.5.1804_x64 docker版本 : 18.06.3-ce 本文描述了怎么将简单的python应用打包成docker镜像的过程。 本文涉及文件目录结构如下: [root@host26 snaicTest1]# ls build. sh Dockerfile httpServer load. sh run. sh save. sh [root@host26 snaicTest1]# tree . ├── build. sh ├── Dockerfile ├── httpServer │ ├── httpServer_snaic1.py │ └── requirements.txt ├── load. sh ├── run. sh └── save. sh 1 directory, 7 files [root@host26 snaicTest1]# 文件说明: httpServer_snaic1.py : python应用程序 requirements.txt : python依赖库 Dockerfile : 构建docker镜像使用 build. sh :构建docker镜像 save. sh : 将构建好的docker镜像保存到本地 load. sh : 加载本地docker镜像 run. sh : 运行docker镜像 httpServer

从tcp开始,用Python写一个web框架1

三世轮回 提交于 2020-08-13 08:34:37
想尝试写一个web框架,不是因为Django, Flask, Sanic, tornado等web框架不香, 而是尝试造一个轮子会对框架的认识更深,为了认识更深自然不应该依赖第三方库(仅使用内置库)。 大多数写web框架的文章专注于应用层的实现,比如在wsgi接口的基础上实现web框架,这样当然是没有问题的,就是少了更底层一点的东西,比如不知道request到底怎么来的,但是我也理解如此做法,因为解析http请求实在不是太有意思的内容。 本文主要会从tcp传输开始讲起,依次介绍tcp传输,http协议的解析,路由解析,框架的实现。而且本文也不会实现模板引擎, 因为这个可以单独说一篇文章。 而其中框架的实现会分为三个阶段:单线程,多线程,异步IO。 最终的目标就是一个使用上大概类似flask, sanic的框架。 因为http的内容比较多,本文自然也不会实现http协议的所有内容。 文章目录结构如下: TCP传输 HTTP解析 路由 WEB框架 环境说明 Python: 3.6.8 不依赖任何第三方库 高于此版本应该都可以 HTTP协议 HTTP应该是受众最广的应用层协议了,没有之一。 HTTP协议一般分为两个部分,客户端,服务端。其中客户端一般指浏览器。客户端发送HTTP请求给服务端,服务端根据客户端的请求作出响应。 那么这些请求和响应是什么呢

python 异步Web框架sanic

南笙酒味 提交于 2020-04-27 08:04:09
我们继续学习Python异步编程,这里将介绍异步Web框架sanic,为什么不是tornado?从框架的易用性来说,Flask要远远比tornado简单,可惜flask不支持异步,而sanic就是类似Flask语法的异步框架。 github: https://github.com/huge-success/sanic 不过sanic对环境有要求: macOS/linux python 3.6+ 不过,我在macOS上安装 sanic 还是踩了坑。依赖库 ujson 一直安装失败。最后不得不卸载官方python,安装 miniconda(第三方Python安装包,集成了一些额外的工具)。 安装 sanic > pip3 install sanic sanic 开发第一个例子 编写官方的第一个例子 hello.py : from sanic import Sanic from sanic.response import json from sanic.exceptions import NotFound app = Sanic(name="pyapp") @app.route('/') async def test(request): return json({'hello': 'world'}) if __name__ == '__main__': app.error_handler

How to change the default sanic log directory to a custom directory?

帅比萌擦擦* 提交于 2019-12-24 10:12:17
问题 Sanic currently supports Linux log directory as /dev/log, and the log wouldn't work if the directory does not exist. How do I change the directory to a custom one? 回答1: Sanic uses the regular standard library logging utility. Per the documentation: To use your own logging config, simply use logging.config.dictConfig , or pass log_config when you initialize Sanic app. app = Sanic('test', log_config=LOGGING_CONFIG) # or logging.config.dictConfig(LOGGING_CONFIG) Here is a good resource on

How to configure ExecStart for Gunicorn without WSGI?

梦想的初衷 提交于 2019-12-22 10:08:39
问题 Systemd and Gunicorn require a wsgi file of some sort as the last arg to ExecStart : http://docs.gunicorn.org/en/latest/deploy.html?highlight=ExecStart#systemd With Django, this was in the main module as wsgi.py : ExecStart=/home/admin/django/bin/gunicorn --config /home/admin/src/gunicorn.py --bind unix:/tmp/api.sock myapp.wsgi But this file obviously doesn't exist when using Sanic and uvloop (I believe the new protocol is called ASGI). I tried substituting it for app.py which unsurprisingly

Wait for db future to complete?

一世执手 提交于 2019-12-13 02:35:41
问题 I have written a code for sanic application, rethinkdb is being used as a backend database. I want to wait for rethinkdb connection function to intialise before other functions as they have dependency on rethinkdb connection. My rethinkdb connection initialization function is: async def open_connections(app): logger.warning('opening database connection') r.set_loop_type('asyncio') connection= await r.connect( port=app.config.DATABASE["port"], host=app.config.DATABASE["ip"], db=app.config

Sanic websockets log `event` periodically, but `event.data` only once---why?

☆樱花仙子☆ 提交于 2019-12-11 07:29:42
问题 I asked this question earlier about websockets in sanic. This is a follow up. The following establishes a websocket connection and console.log() s the 'data' message exactly one time: from sanic import Sanic, response from sanic.websocket import WebSocketProtocol import asyncio import time app = Sanic() @app.websocket('/feed') async def feed(request, ws): while True: now = time.time() data = 'messsage' print(data) await ws.send(data) await asyncio.sleep(1) @app.route('/') async def handle

Gunicorn - No access logs

偶尔善良 提交于 2019-12-11 00:07:13
问题 currently i am running my sanic(microframework) webservice with gunicorn as a daemon and i would like to save all logs in files(access and error) My config: reload = True daemon = True bind = '0.0.0.0:6666' worker_class = 'sanic.worker.GunicornWorker' loglevel = 'debug' accesslog = 'access.log' access_log_format = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"' errorlog = 'error.log' Next i start the webservice: gunicorn --config config.py app:app Sooo.. my errorlog works, but i