书籍 新开发的读书微信公众号

miclle · 2014年03月31日 · 最后由 stephen 回复于 2014年05月07日 · 4972 次阅读

“学习微生素”

3 月 20 号开始注册这个公众号,然后接口开发 应用基于: ruby 2.1 rails 4.0.4 postgresql redis redis-search sidekiq unicorn ratchet

程序开发相当简单,wap 版站点用 ratchet 也很容易搭建 UI,时间都花在数据收集上,数据从豆瓣获取,通过sidekiq使用队列去爬了一个星期,大概 300 万图书数据(还没有爬完)

搜索使用了 redis-search 相当方便,使用简单,只是建索引的时间有些长: Indexed 3067047 rows | Time spend: 16273.795951065s

目前账户还在开发中,仅为一个演示版本,微网站中有些连接点击无效

redis-search 全部重建是非常慢,有空可以改进一下,目前 Redis 请求没放到一起,改成 multi 的方式应该会提升几倍

#1 楼 @huacnlee 是的,目前就直接 nohup 去跑的

#3 楼 @ruby_sky

我们的场景是一个公众号对应完全不同的业务,所以不会在一个 web 程序来接入多个公众号,也不会有太多的公众号

第一个感觉反而弄得复杂了点,里提到的一些功能如自定义菜单的实现不知道不什么要弄到 DB 里,菜单最多也就 15 个,这样设计反而变重了,菜单的变更一般都牵扯到业务的变化,代码肯定要动,这种功能直接写一个 rake 任务,方便部署

对于一些图文消息的回复,简单内容可以直接使用 gem 里面提供的方法,但有时候用 xml builder 可以做更细粒度的控制满足复杂点的需求

可能是我们还没需要你们那么大的业务需求吧

我觉得微信接口虽然设计得并不是很人性化,但相对来说还是相当简单的

个人愚见

#4 楼 @miclle 亲,可以先用一下微盟。:)

#7 楼 @stephen 报错了吗?怎么说?

@ruby_sky config.public_account_class这个不存在,我看了生成的配置文件,应该改为了config.token_model = 然后执行 rails g weixin_rails_middleware:migration 报错 Could not find generator weixin_rails_middleware:migration. 应该现在要自己在 model 里添加两个字段,而且是不是改成了这个 config.token_column = "weixin_token" config.token_string = "token string"

#9 楼 @stephen 那是旧版本的配置,现在更新到 1.2.1(https://github.com/lanrion/weixin_rails_middleware/tree/v1.2.1)的版本,新版本的配置更简约更少。你重新 new 一个 project,按照 Getting-Start https://github.com/lanrion/weixin_rails_middleware/wiki/Getting-Start,是没有问题的。

gem "weixin_rails_middleware", "~> 1.2.1"

或者你也可以查看例子:

https://github.com/lanrion/weixin_rails_middleware_example

@ruby_sky 好的,谢谢你的解答

非常有意思,先 mark

@huacnlee redis-search 只能检索一个字段吧,有没有考虑支持多个字段? 还有 redis-search 好像太依赖分词了,没有分到的词是搜索不到的,用 keys *query* 貌似又会有性能问题,确实不好搞。

而且代码里面用的是 class_eval,不知道能不能将 class_eval 里面的代码独立成一个 module,然后 include 进去。

今天看了下 elasticsearch-rails 的代码,redis-search 可以用 elasticsearch/rails/tasks/import 一样的方法去建立索引,这样就不需要在 initializer 里面先引用 model 了。

搭车问个问题,elasticsearch 怎么建立指定字段的索引?

#13 楼 @tumayun 单独发帖,跑题了

@huacnlee 你都那么晚还在?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号