博客园 - 行者酱油君
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=117273
2019-06-22T02:56:58Z
行者酱油君
https://www.cnblogs.com/makor/
feed.cnblogs.com
https://www.cnblogs.com/makor/p/Nginx-fan-xiang-dai-li-shi-huo-qu-yong-hu-de-zhen-.html
Nginx 反向代理时获取用户的真实 IP - 行者酱油君
在平时我们开发后端程序的过程中,应该多多少少都会碰到记录客户端 IP 的场景,例如我之前写过的 APP 用户的一个审计功能,就需要获取用户的 IP 地址;还有广告系统里面,也是需要获取用户的 IP 地址,有时这个 IP 地址会被用来标识用户的,因此需要比较准确得获取到用户的地址。当然,在开始本文的内容之前还是有必要强调一下我们现在的网络大环境的,在使用 IP 的时候,我们一定要记住有两个东西很关键...
2018-05-24T15:19:00Z
2018-05-24T15:19:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】在平时我们开发后端程序的过程中,应该多多少少都会碰到记录客户端 IP 的场景,例如我之前写过的 APP 用户的一个审计功能,就需要获取用户的 IP 地址;还有广告系统里面,也是需要获取用户的 IP 地址,有时这个 IP 地址会被用来标识用户的,因此需要比较准确得获取到用户的地址。当然,在开始本文的内容之前还是有必要强调一下我们现在的网络大环境的,在使用 IP 的时候,我们一定要记住有两个东西很关键... <a href="https://www.cnblogs.com/makor/p/Nginx-fan-xiang-dai-li-shi-huo-qu-yong-hu-de-zhen-.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/Go-yu-yan-shi-xian-HTTP-ceng-mian-de-fan-xiang-dai.html
Go 语言实现 HTTP 层面的反向代理 - 行者酱油君
最近对 Go 语言的反向代理使用得偏多,其实在大概两年前就写过 TCP 层面的代理,而且那时也是用的 Go 语言,不同之处在于之前只是偶尔尝试一下使用,最近是因为工作需要使用的。相比较于 TCP 层面的代理,HTTP 的代理实现起来麻烦事比较多,如果我们仅仅是简单的反向代理,OK,那还好,做个 Host 替换就差不多了。但是,很多时候我们作反向代理,那么需求就比较多样了,例如我们可能希望对代理的响...
2018-05-03T00:50:00Z
2018-05-03T00:50:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】最近对 Go 语言的反向代理使用得偏多,其实在大概两年前就写过 TCP 层面的代理,而且那时也是用的 Go 语言,不同之处在于之前只是偶尔尝试一下使用,最近是因为工作需要使用的。相比较于 TCP 层面的代理,HTTP 的代理实现起来麻烦事比较多,如果我们仅仅是简单的反向代理,OK,那还好,做个 Host 替换就差不多了。但是,很多时候我们作反向代理,那么需求就比较多样了,例如我们可能希望对代理的响... <a href="https://www.cnblogs.com/makor/p/Go-yu-yan-shi-xian-HTTP-ceng-mian-de-fan-xiang-dai.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/Go-yu-yan-zhong-de-Http-lu-you-ji-chu.html
Go 语言中的 Http 路由基础 - 行者酱油君
最近在写一些 Go 语言的 Web 应用,因为 Go 语言中的 Web 应用和 Python 中的不太一样,具体的区别应该和语言的动态性是有所联系的,同时,也和语言的内置库支持有所联系,所以这就导致了一个现象,那就是 Go 语言中 Web 框架似乎不那么流行(当然我知道国内在吹 Beego),不像 Python 中,各种流行得框架都有不少的支持者。因为没有框架,所以,在使用的时候一般用一些 Mux...
2018-05-03T00:50:00Z
2018-05-03T00:50:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】最近在写一些 Go 语言的 Web 应用,因为 Go 语言中的 Web 应用和 Python 中的不太一样,具体的区别应该和语言的动态性是有所联系的,同时,也和语言的内置库支持有所联系,所以这就导致了一个现象,那就是 Go 语言中 Web 框架似乎不那么流行(当然我知道国内在吹 Beego),不像 Python 中,各种流行得框架都有不少的支持者。因为没有框架,所以,在使用的时候一般用一些 Mux... <a href="https://www.cnblogs.com/makor/p/Go-yu-yan-zhong-de-Http-lu-you-ji-chu.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/Json-Schema.html
Json Schema - 行者酱油君
经常用 Python 写代码的同学应该都有一个感触,那就是 Python 对于字典的支持太舒服了,而且基本上可以和 JS 中写 Json 一样舒服。但是,因为 Python 对于 Dict 的支持比较松散,所以,导致了一个问题,假如我有一个函数,参数如果放它一个字典,那调用者会疯掉的,这是一种情况;另外一个常见的场景就是参数校验,无论是 HTTP 还是 RPC 等形式,很多时候我们的参数都是以 J...
2018-05-03T00:49:00Z
2018-05-03T00:49:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】经常用 Python 写代码的同学应该都有一个感触,那就是 Python 对于字典的支持太舒服了,而且基本上可以和 JS 中写 Json 一样舒服。但是,因为 Python 对于 Dict 的支持比较松散,所以,导致了一个问题,假如我有一个函数,参数如果放它一个字典,那调用者会疯掉的,这是一种情况;另外一个常见的场景就是参数校验,无论是 HTTP 还是 RPC 等形式,很多时候我们的参数都是以 J... <a href="https://www.cnblogs.com/makor/p/Json-Schema.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/Docker-geng-gai-jing-xiang-cun-chu-wei-zhi.html
Docker 更改镜像存储位置 - 行者酱油君
在使用 Docker 的过程中,如果我们一切都以默认的设置进行操作的话,在使用一段时间之后你应该会发现系统的根目录空间越来越少,直到有一天发现空间都被占满了,最后发现原来是被 Docker 占用了。所以这个时候就需要处理这个蛋疼的问题了,在传统的 PC 时代我们可能会听纠结的,因为就笔记本来说,你要加个硬盘往哪加啊。如果是台式机,倒是可以直接加,但是还得买一块,所以此时,是时候推荐一波云服务器了。...
2018-05-02T15:38:00Z
2018-05-02T15:38:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】在使用 Docker 的过程中,如果我们一切都以默认的设置进行操作的话,在使用一段时间之后你应该会发现系统的根目录空间越来越少,直到有一天发现空间都被占满了,最后发现原来是被 Docker 占用了。所以这个时候就需要处理这个蛋疼的问题了,在传统的 PC 时代我们可能会听纠结的,因为就笔记本来说,你要加个硬盘往哪加啊。如果是台式机,倒是可以直接加,但是还得买一块,所以此时,是时候推荐一波云服务器了。... <a href="https://www.cnblogs.com/makor/p/Docker-geng-gai-jing-xiang-cun-chu-wei-zhi.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/import-declarations-in-go.html
Go 中包导入声明 - 行者酱油君
Go中的程序由软件包组成。通常,软件包依赖于其他软件包,或者内置于标准库或第三方的软件包。包需要先导入才能使用其导出的标识符。本文将翻译一篇国外的文章,用于介绍包导入的原理以及几种常用的导入方式。>==========>>Go 语言中的程序由软件包组成,一般来说,软件包会依赖于其他软件包,这些软件包可能是标准库或者是第三方的软件包。但是,无论是哪里的,包都需要先导入才能使用其导出的标识符,而这需要...
2018-02-27T16:06:00Z
2018-02-27T16:06:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】Go中的程序由软件包组成。通常,软件包依赖于其他软件包,或者内置于标准库或第三方的软件包。包需要先导入才能使用其导出的标识符。本文将翻译一篇国外的文章,用于介绍包导入的原理以及几种常用的导入方式。>==========>>Go 语言中的程序由软件包组成,一般来说,软件包会依赖于其他软件包,这些软件包可能是标准库或者是第三方的软件包。但是,无论是哪里的,包都需要先导入才能使用其导出的标识符,而这需要... <a href="https://www.cnblogs.com/makor/p/import-declarations-in-go.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/supervisor-in-mac.html
Mac Supervisor 管理进程 - 行者酱油君
无论是在日常工作中还是平时玩代码中,我总是离不开 Supervisor,其实很久之前我就写过一篇文章:supervisord 部署 Flask,在里面,我仔细讲解了如何在 Linux 环境下安装并且配置 supervisord,并且如何部署应用,应该稍微懂点 Linux 的同学就可以按照指导自己在自己的环境下配置一份出来。但是,我日常更多的情况下是在 Mac 下工作的,虽然 Mac 下已经有很多强...
2018-01-30T01:11:00Z
2018-01-30T01:11:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】无论是在日常工作中还是平时玩代码中,我总是离不开 Supervisor,其实很久之前我就写过一篇文章:supervisord 部署 Flask,在里面,我仔细讲解了如何在 Linux 环境下安装并且配置 supervisord,并且如何部署应用,应该稍微懂点 Linux 的同学就可以按照指导自己在自己的环境下配置一份出来。但是,我日常更多的情况下是在 Mac 下工作的,虽然 Mac 下已经有很多强... <a href="https://www.cnblogs.com/makor/p/supervisor-in-mac.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/protobuf-and-grpc.html
ProtoBuf 与 gRPC - 行者酱油君
用 Protobuf 很久了,但是一直觉得很简单,所以就没有做一个总结,今天想尝试一下 gRPC,顺带就一起总结一下。ProtoBuf 是个老同志了,应该是 2010 的时候发布的,然后被广泛使用,目前在市面上应该和 Facebook 的 thrift 应该是不相上下,无论是性能上,还是用户的支持度上。What's ProtoBufProtoBuf 是一种数据表达方式,根据 G 家自己的描述,应该...
2018-01-27T08:36:00Z
2018-01-27T08:36:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】用 Protobuf 很久了,但是一直觉得很简单,所以就没有做一个总结,今天想尝试一下 gRPC,顺带就一起总结一下。ProtoBuf 是个老同志了,应该是 2010 的时候发布的,然后被广泛使用,目前在市面上应该和 Facebook 的 thrift 应该是不相上下,无论是性能上,还是用户的支持度上。What's ProtoBufProtoBuf 是一种数据表达方式,根据 G 家自己的描述,应该... <a href="https://www.cnblogs.com/makor/p/protobuf-and-grpc.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/template-in-go.html
Golang 模板 - 行者酱油君
最近又尝试了一下 Golang 的 Template,发现一般功能都满足了,而且语法也相对比较简单,所以稍作总结。在 Go语言中,模板有 text/template 和 html/template 两个,但是接口都是一致的,区别在于 html/template 用于生成 HTML 输出,会自动得转移 HTML 标签用于防范攻击。模板规则Go 语言中,模板的特殊表达式都是通过 {{ 和 }} 引起...
2018-01-26T15:33:00Z
2018-01-26T15:33:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】最近又尝试了一下 Golang 的 Template,发现一般功能都满足了,而且语法也相对比较简单,所以稍作总结。在 Go语言中,模板有 text/template 和 html/template 两个,但是接口都是一致的,区别在于 html/template 用于生成 HTML 输出,会自动得转移 HTML 标签用于防范攻击。模板规则Go 语言中,模板的特殊表达式都是通过 {{ 和 }} 引起... <a href="https://www.cnblogs.com/makor/p/template-in-go.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/GA-operation-with-python.html
Python 操作 GA API 指南 - 行者酱油君
因为需要写一个 Blog Feature 的缘故,所以接触了下 GA 的 Python API,发现 G 家的 API 不是那么直观,比较绕,但是,在使用过程中发现其实 G 家的 API 设计挺有意思的,可能有一些新的设计理念,值得思考学习一番。但是这不是这篇文章的重点,这篇文章还是介绍一下 GA 的 Python API V4 版本的使用,顺带在最后解答几个我再使用过程中遇到的问题。GA API...
2018-01-22T01:13:00Z
2018-01-22T01:13:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】因为需要写一个 Blog Feature 的缘故,所以接触了下 GA 的 Python API,发现 G 家的 API 不是那么直观,比较绕,但是,在使用过程中发现其实 G 家的 API 设计挺有意思的,可能有一些新的设计理念,值得思考学习一番。但是这不是这篇文章的重点,这篇文章还是介绍一下 GA 的 Python API V4 版本的使用,顺带在最后解答几个我再使用过程中遇到的问题。GA API... <a href="https://www.cnblogs.com/makor/p/GA-operation-with-python.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/base-algorithm-for-gc.html
垃圾回收(GC) 的基本算法 - 行者酱油君
GC 作为一个长久的话题,从诞生[1]至今也算是经历了六七十年了,对于很多习惯于使用 Java/Python 的同学来说,对于内存的管理可能会稍微更陌生一些,因为这些语言在语言层面就屏蔽了内存的分配和管理,帮助我们减少了超多的麻烦。但是,在帮助我们减少麻烦的同时,也带来了很多问题,其中一个就是内存爆掉,这个问题有可能是代码写得不好,有可能是设计不好,反正就是存在这个问题。本文不准备细究这些问题,本...
2018-01-16T15:34:00Z
2018-01-16T15:34:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】GC 作为一个长久的话题,从诞生[1]至今也算是经历了六七十年了,对于很多习惯于使用 Java/Python 的同学来说,对于内存的管理可能会稍微更陌生一些,因为这些语言在语言层面就屏蔽了内存的分配和管理,帮助我们减少了超多的麻烦。但是,在帮助我们减少麻烦的同时,也带来了很多问题,其中一个就是内存爆掉,这个问题有可能是代码写得不好,有可能是设计不好,反正就是存在这个问题。本文不准备细究这些问题,本... <a href="https://www.cnblogs.com/makor/p/base-algorithm-for-gc.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/build-static-resource-with-golang.html
Go 语言打包静态文件 - 行者酱油君
对于 Go 语言开发者来说,在享受语言便利性的同时,最终编译的单一可执行文件也是我们所热衷的。但是,一旦遇到我们需要分发的东西不只有可执行文件的时候,事情就变得稍微有点复杂了,例如,需要分发个默认的配置文件;或者说是一个 Web 服务需要附带一些简单的 js/css 文件之类的。当然,对于经验丰富的老司机们来说这都不是问题,例如 RH 系列的 RPM 是很多老司机们的选择,像我这样的新手也是觉得老...
2018-01-15T14:21:00Z
2018-01-15T14:21:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】对于 Go 语言开发者来说,在享受语言便利性的同时,最终编译的单一可执行文件也是我们所热衷的。但是,一旦遇到我们需要分发的东西不只有可执行文件的时候,事情就变得稍微有点复杂了,例如,需要分发个默认的配置文件;或者说是一个 Web 服务需要附带一些简单的 js/css 文件之类的。当然,对于经验丰富的老司机们来说这都不是问题,例如 RH 系列的 RPM 是很多老司机们的选择,像我这样的新手也是觉得老... <a href="https://www.cnblogs.com/makor/p/build-static-resource-with-golang.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/ut-in-go-lang.html
Go 语言编写单元测试 - 行者酱油君
吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。-- 荀况 《劝学》Go 语言对于单元测试是很重视的,且不说其他的作者的背景啊,开源库啊,第三方的支持之类的,有两点让我对 Go 语言关于单元测试的重视程度的有信心的点在于:Go 语言...
2018-01-08T01:29:00Z
2018-01-08T01:29:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。-- 荀况 《劝学》Go 语言对于单元测试是很重视的,且不说其他的作者的背景啊,开源库啊,第三方的支持之类的,有两点让我对 Go 语言关于单元测试的重视程度的有信心的点在于:Go 语言... <a href="https://www.cnblogs.com/makor/p/ut-in-go-lang.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/ut-in-open-source.html
从开源项目看 Python 单元测试 - 行者酱油君
我觉得以前在我开发程序的时候,除了文档,可能单元测试是另外一个让我希望别人都写,但是自己又一点都不想写的东西。但是,随着开发程序的增多,以及自己对 Bug 的修改的增多,我发现,UT 在很大程度上是对我有利的,虽然带来的结果就是可能我的 Dev 时间会增加 20-40% 左右,但是,相比较于一段时间之后突然冒出来一个 Bug,让你摸不着头脑;或者说突然一个接一个的 Bug 在你转测试之后提过来,写...
2017-12-23T07:20:00Z
2017-12-23T07:20:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】我觉得以前在我开发程序的时候,除了文档,可能单元测试是另外一个让我希望别人都写,但是自己又一点都不想写的东西。但是,随着开发程序的增多,以及自己对 Bug 的修改的增多,我发现,UT 在很大程度上是对我有利的,虽然带来的结果就是可能我的 Dev 时间会增加 20-40% 左右,但是,相比较于一段时间之后突然冒出来一个 Bug,让你摸不着头脑;或者说突然一个接一个的 Bug 在你转测试之后提过来,写... <a href="https://www.cnblogs.com/makor/p/ut-in-open-source.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/comment-in-open-source.html
从开源项目看python代码注释 - 行者酱油君
最近看了不少代码,也写了不少代码,所以在看和写之间发现了很多的问题,真的是很多,至少从我的认识来看,有几个地方有很大的改进空间,这里不准备把所有的问题都列举出来,所以就先挑选一个比较明显得来和大家聊聊。回顾流行开源项目的成功,除了功能上的刚需之外,文档也是必不可少的一个环节,没有良好文档的开源项目几乎不可能说是流行的,因为很少人会因为你说了一句使用我的项目就可以怎么怎么样就傻不溜秋得用你的。从我以...
2017-12-16T05:20:00Z
2017-12-16T05:20:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】最近看了不少代码,也写了不少代码,所以在看和写之间发现了很多的问题,真的是很多,至少从我的认识来看,有几个地方有很大的改进空间,这里不准备把所有的问题都列举出来,所以就先挑选一个比较明显得来和大家聊聊。回顾流行开源项目的成功,除了功能上的刚需之外,文档也是必不可少的一个环节,没有良好文档的开源项目几乎不可能说是流行的,因为很少人会因为你说了一句使用我的项目就可以怎么怎么样就傻不溜秋得用你的。从我以... <a href="https://www.cnblogs.com/makor/p/comment-in-open-source.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/implement-of-state-and-result-in-celery.html
Celery 源码解析八:State 和 Result - 行者酱油君
序列文章: Celery 源码解析一:Worker 启动流程概述 Celery 源码解析二:Worker 的执行引擎 Celery 源码解析三: Task 对象的实现 Celery 源码解析四: 定时任务的实现 Celery 源码解析五: 远程控制管理 Celery 源码解析六:Events 的实现
2017-11-23T14:00:00Z
2017-11-23T14:00:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】序列文章: Celery 源码解析一:Worker 启动流程概述 Celery 源码解析二:Worker 的执行引擎 Celery 源码解析三: Task 对象的实现 Celery 源码解析四: 定时任务的实现 Celery 源码解析五: 远程控制管理 Celery 源码解析六:Events 的实现 <a href="https://www.cnblogs.com/makor/p/implement-of-state-and-result-in-celery.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/implement-of-gossip-and-mingle.html
Celery 源码解析七:Worker 之间的交互 - 行者酱油君
序列文章: Celery 源码解析一:Worker 启动流程概述 Celery 源码解析二:Worker 的执行引擎 Celery 源码解析三: Task 对象的实现 Celery 源码解析四: 定时任务的实现 Celery 源码解析五: 远程控制管理 Celery 源码解析六:Events 的实现
2017-11-22T14:03:00Z
2017-11-22T14:03:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】序列文章: Celery 源码解析一:Worker 启动流程概述 Celery 源码解析二:Worker 的执行引擎 Celery 源码解析三: Task 对象的实现 Celery 源码解析四: 定时任务的实现 Celery 源码解析五: 远程控制管理 Celery 源码解析六:Events 的实现 <a href="https://www.cnblogs.com/makor/p/implement-of-gossip-and-mingle.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/event-implement-in-celery.html
Celery 源码解析六:Events 的实现 - 行者酱油君
序列文章: Celery 源码解析一:Worker 启动流程概述 Celery 源码解析二:Worker 的执行引擎 Celery 源码解析三: Task 对象的实现 Celery 源码解析四: 定时任务的实现 Celery 源码解析五: 远程控制管理 Celery 源码解析六:Events 的实现
2017-11-21T14:34:00Z
2017-11-21T14:34:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】序列文章: Celery 源码解析一:Worker 启动流程概述 Celery 源码解析二:Worker 的执行引擎 Celery 源码解析三: Task 对象的实现 Celery 源码解析四: 定时任务的实现 Celery 源码解析五: 远程控制管理 Celery 源码解析六:Events 的实现 <a href="https://www.cnblogs.com/makor/p/event-implement-in-celery.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/remote-control-manager.html
Celery 源码解析五: 远程控制管理 - 行者酱油君
序列文章: Celery 源码解析一:Worker 启动流程概述 Celery 源码解析二:Worker 的执行引擎 Celery 源码解析三: Task 对象的实现 Celery 源码解析四: 定时任务的实现 Celery 源码解析五: 远程控制管理 Celery 源码解析六:Events 的实现
2017-11-16T14:39:00Z
2017-11-16T14:39:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】序列文章: Celery 源码解析一:Worker 启动流程概述 Celery 源码解析二:Worker 的执行引擎 Celery 源码解析三: Task 对象的实现 Celery 源码解析四: 定时任务的实现 Celery 源码解析五: 远程控制管理 Celery 源码解析六:Events 的实现 <a href="https://www.cnblogs.com/makor/p/remote-control-manager.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/makor/p/cron-task-implement-in-celery.html
Celery 源码解析四: 定时任务的实现 - 行者酱油君
序列文章: Celery 源码解析一:Worker 启动流程概述 Celery 源码解析二:Worker 的执行引擎 Celery 源码解析三: Task 对象的实现 Celery 源码解析四: 定时任务的实现 Celery 源码解析五: 远程控制管理 Celery 源码解析六:Events 的实现
2017-11-14T13:37:00Z
2017-11-14T13:37:00Z
行者酱油君
https://www.cnblogs.com/makor/
【摘要】序列文章: Celery 源码解析一:Worker 启动流程概述 Celery 源码解析二:Worker 的执行引擎 Celery 源码解析三: Task 对象的实现 Celery 源码解析四: 定时任务的实现 Celery 源码解析五: 远程控制管理 Celery 源码解析六:Events 的实现 <a href="https://www.cnblogs.com/makor/p/cron-task-implement-in-celery.html" target="_blank">阅读全文</a>