nsg-0.3.0 API变更

NSQ是由知名短链接服务商bitly用Go语言开发的实时消息处理系统,具有高性能、高可靠、无视单点故障等优点,是一个非常不错的新兴的消息队列解决方案。

nsg易于配置和部署,所有参考都通过命令行指定,编译好的二进制文件,没有其它依赖项。而且支持多种消息格式。

关于nsq的介绍看这里:http://www.oschina.net/translate/day-22-a-journey-into-nsq

官网:http://nsq.io/overview/quick_start.html

相比之前,API更好用了。

直接上代码。

package main

import (
    "github.com/bitly/go-nsq"
    "fmt"
    "time"
)

type Handle struct{
    msgchan chan *nsq.Message
    stop bool
}

func (h *Handle) HandleMsg(m *nsq.Message) error {
    if !stop{
        h.msgchan <- m
    }
    return nil
}

func (h *Handle) Process(){
    h.stop = false
    for{
        select{
            case m := <-h.msgchan:
                fmt.Println(string(m.Body));
            case <-time.After(time.Second):
                if h.stop{
                    close(h.msgchan)
                    return
                }
        }
    }
}

func (h *Handle) Stop(){
    h.stop = true
}

func main(){
    config := nsq.NewConfig()
    consumer, err := nsq.NewConsumer("test", "my", config)
    if err != nil{
        panic(err)
    }
    h := new(Handle)
    consumer.AddHandler(nsq.HandlerFunc(h.HandleMsg))
    h.msgchan = make(chan *nsq.Message, 1024)
    err = consumer.ConnectToNSQD("127.0.0.1:4150")
    if err != nil{
        panic(err)
    }
    h.Process()
}
时间: 2024-10-07 03:45:39

nsg-0.3.0 API变更的相关文章

Android 6.0 新功能及主要 API 变更

伴随着新的特性和功能, Android 6.0 (API 级别 23)带来了一系列系统和 API 行为的变更.这篇文章中将介绍一些在应用程序中需要理解和注意的主要变更点. 如果你之前已经发布过 Android 应用程序,要意识到这些变更对应用程序的影响. 运行时权限 这个版本中引入了新的权限模型,现在用户可以在运行时直接管理应用程序的权限.这个模型基于用户对权限控制的更多可见性,同时为应用程序的开发者提供更流畅的应用安装和自动升级.用户可以为已安装的每个应用程序独立的授予或者取消权限. 在运行于

使用Servlet3.0提供的API实现文件上传

在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileupload组件,在Servlet3.0中提供了对文件上传的原生支持,我们不需要借助任何第三方上传组件,直接使用Servlet3.0提供的API就能够实现文件上传功能了. 一.使用Servlet3.0提供的API实现文件上传 1.1.编写上传页面 1 <%@ page language="java" pageEncoding="UTF-8"

Elasticsearch 2.2.0 精简(cat)API

在Elasticsearch提供了一套精简API来查看系统的状态,官方的文档叫cat API.主要的目的是由于Elasticsearch默认提供的接口返回都是JSON格式的,这种格式不利于人类的阅读,所以搞出来一套cat API来简化. 每个命令都是以/_cat开头,可以接收v参数得到详细输出:可以通过help参数得到返回的每列的帮助信息.可以通h=参数名返回部分内容,多个参数可以用逗号分开,甚至可以支持通配符.例如: 请求:GET http://127.0.0.1:9200/_cat/mast

ElasticSearch 5.0.1 java API操作

今天来说下使用ES 5.0.1的API来进行编码. 开始之前,简单说下5.0.1跟之前的几个变化.之前的ES自身是不支持delete-by-query的,也就是通过查询来删除,可以达到批量的效果,是因为刷新的原因,应该够近实时的特性相关.一直是以一个插件的形式存在,到5.0.1时,倒腾了半天,还是官方文档说,已经废掉了这个插件,放到ES Core中来了.这是一个变化,另外,初始化ES client的方式也变化了,这个要吐槽一下,从1.7到2.X,初始化方式改了一遍,从2.X到5.X又变了,让人有

Elasticsearch从0.90(0.90.x)到1.2(1.x)API的变化-二

本文为官方文档的译文加个人理解.作者翻译时,elasticsearch(下面简称es)的版本为1.2.2. 请支持原创:http://www.cnblogs.com/donlianli/p/3836768.html 一.统计信息相关命令的变化 有关集群状态cluster_state, 节点信息nodes_info, 节点统计信息nodes_stats和索引信息indices_stats命令格式进行了统一,比如查看集群信息使用命令: curl -XGET http://localhost:9200

laravel Passport - 创建 REST API 用户认证以及Dingo/Api v2.0+Passport实现api认证

第一部分: 安装passport 使? Composer 依赖包管理器安装 Passport : composer require laravel/passport 接下来,将 Passport 的服务提供者注册到配置?件  config/app.php  的providers  数组中:(5.6后不用加 ) Laravel\Passport\PassportServiceProvider::class utf8 的 varchar 类型字符串最长255,换成utf8mb4最长是191,然而框架

BlockLang 0.3.0 发布啦

BlockLang 官网:https://blocklang.com Block Lang 0.3.0 引入一个新概念:组件市场. 拼装软件时使用的零部件统称为组件.所有组件在组件市场中统一管理,包括 Block Lang 的内置组件. 组件市场包含三个子概念: 组件 - 是项目的最小组成单位,是业务无关.高内聚的一类通用功能: API 仓库 - 是一个 git 仓库,存储一组相关组件的接口规范: 组件仓库 - 是一个 git 仓库,存储一组相关组件的实现代码. API 仓库与组件仓库的关系:

NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)

转自:http://blog.csdn.net/enjoyyl/article/details/47397505?from=timeline&isappinstalled=0#10006-weixin-1-52626-6b3bffd01fdde4900130bc5a2751b6d1 NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0环境配置 引言 DIGITS简介 DIGITS特性 资源信息 说明 DIGI

c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结【转载】

引用:http://blog.csdn.net/attilax/article/details/42014327 c# .net 3.5 4.0 各个版本新特性战略规划总结 1. --------------.Net Framework版本同CLR版本的关系1 2. paip.------------SDK2.0功能-------------2 2.1. 泛型:2 3. --------------sdk3.0  增加了以下功能..2 3.1. LINQ 3 4.  ----------sdk4

Atitit jquery &#160;1.4--v1.11 &#160;v1.12 &#160;v2.0 &#160;3.0 的新特性

Atitit jquery  1.4--v1.11  v1.12  v2.0  3.0 的新特性 1.1. Jquery1.12  jQuery 2.2 和 1.12 新版本发布 - OPEN资讯.html   2016.11 1.1.1. jQuery.htmlPrefilter()1 1.2. 2016.7  jq3.0 新特性1 1.3. Jq3.1新特性 jQuery 3.1.1 发布了,该版本包括一些 BUG 修复和改进.3 1.1. Jquery1.12  jQuery 2.2 和