-
相关
这次要介绍如何在谷歌插件中使用nodejs模块,演示的项目是 一个后台定时提醒的插件
运行环境
- nodejs
- Windows、Linux 或 MacOS 操作系统
- chrome浏览器
- browserify
##基础框架搭建
###创建一个基础的chrome插件框架
可以从谷歌插件的github克隆相应的例子进行修改
基本架构只需要包含:
- manifest.json (谷歌插件配置文件)
- background.js (后台逻辑js文件)
##将nodejs库使用转化为浏览器可使用的库
-
这次要介绍如何在谷歌插件中使用nodejs模块,演示的项目是 一个后台定时提醒的插件
##基础框架搭建
###创建一个基础的chrome插件框架
可以从谷歌插件的github克隆相应的例子进行修改
基本架构只需要包含:
##将nodejs库使用转化为浏览器可使用的库
官网:leancloud
LeanCloud 是国内的移动应用一站式云服务。
LeanCloud提供了数据存储、实时消息、统计分析以及多种扩展组件,全面涵盖移动应用开发的需求,支持 iOS、Android、Web 等多平台。
它帮助开发者摆脱后端开发负担以专注于产品创新,同时缩短开发周期、节省开发投入、快速进入市场。
很久之前看到baas的相关介绍,感觉自己要失业了,知道现在才有机会试用一下leancloud
npm install -g avoscloud-code
环境搭建完毕
自行官网下载
在使用tornado框架进行开发的过程中,发现tornado的mysql数据库操作并不是一步的,造成了所有用户行为的堵塞.tornado本身是一个异步的框架,要求所有的操作都应该是异步的,但是数据库这一层就把整个服务器都拖住了.
使用异步的mysql操作库. 查找了一下,有两个比较完善的异步操作库
一个是AsyncTorndb,国人自己写的异步操作,看了一下,好像不错的样子,但是没有响应的测试用例,不敢用.
一个是Tornado-MySQL是对PyMySQL的异步化的一个库,测试用例,文档,都比较齐全,可以尝试使用.
2.仿照(torngas)[https://github.com/mqingyn/torngas]的异步线程池,使用tornado的concurrent.run_on_executor装饰器对数据库操作进行异步化
3.使用任务队列,太过麻烦,对之前的代码修改过大,不使用该方案
在原先的同步的数据库执行的方法添加@concurrent.run_on_executor装饰器,如以下例子:
1 |
|