这是 V2EX 用来处理头像及其他一些图片相关的任务的后端实现: https://github.com/v2ex/remote
将这些功能从主站代码中剥离的几个原因:
- 如果图片处理的第三方库中存在任何安全漏洞,那么只会影响到运行 Remote Worker 的容器
- 如果将来需要做一些向第三方发送网络请求的操作,比如链接预览,那么从 Remote Worker 运行在单独的服务器的容器中启动,可以避免向第三方泄漏主服务器的 IP
- 因为这个代码库相对比较简单,所以可以在里面试验一些新东西,比如 Python 3.10 的新语法
为了保证代码的一致性,使用了 pre-commit 。
如果你打算在自己的项目中用或者有任何建议,非常欢迎。
]]>