gobeanstalk

基于 Go 的 beanstalkd 客户端
授权协议 GPL
开发语言 Google Go
所属分类 服务器软件、 分布式应用/网格
软件类型 开源软件
地区 国产
投 递 者 农明辉
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

go-beanstalk 是beanstalkd 的GO语言的一个客户端.

项目还在开发中,欢迎大家提意见

介绍

beanstalkd是一个快速的、有各种用途的延迟队列 和定时任务的不同点: 定时任务以一定的周期或者在某个特定的时间运行。beanstalk可以在延迟一段时间执行。 一些使用场景:

  • 用户下单5分钟后检查用户是否完成了支付
  • 一分钟后开始一个新的程序

如何使用

Mac&Linux

安装并启动beantalkd服务器

git clone https://github.com/kr/beanstalkd
cd beanstalkd
make
./beanstalkd

使用示例

go get github.com/liuzhengyang/gobeanstalk

create a test.go file

package main

import (
    "fmt"
    "github.com/liuzhengyang/gobeanstalk"
)

func main() {
    addr := "localhost:11300"  // define server address
    newConn := gobeanstalk.NewConnection(addr)   // create new connection
    channel := make(chan int)   // create int channel
    putFunc := func() {
        // define a function which put some message to one tube
        id, _ := newConn.PutWithTube("hello", "test2", 1)
        channel <- id
    }
    go putFunc()   // run previous function in a go-routine
    id := <-channel  // wait until we finish putting
    fmt.Printf("Receive from channel message of another goroutine %d\n", id)
    listenChannel := make(chan string)  // make a listen channel for receiving results
    dealFunc := func(body string) bool {
        // define a function to deal with tube messages
        fmt.Printf("receive %s\n", body)
        listenChannel <- body
        return true
    }
    go newConn.Listen("test2", dealFunc)  // run deal function in a specified go-routing
    body := <-listenChannel     // wait our message
    fmt.Printf("Listen once %s\n", body)
    newConn.Close()   // Close connection
}

And run this

go run test.go
  • go-beanstalk 是beanstalkd 的GO语言的一个客户端. 项目还在开发中,欢迎大家提意见 介绍 beanstalkd是一个快速的、有各种用途的延迟队列 和定时任务的不同点: 定时任务以一定的周期或者在某个特定的时间运行。beanstalk可以在延迟一段时间执行。 一些使用场景: * 用户下单5分钟后检查用户是否完成了支付 * 一分钟后开始一个新的程序 如何使用 Mac&Linux

 相关资料
  • 提纲ceph-fuse [ -m monaddr:port ] mountpoint [ fuse options ] 描述 ceph-fuse 是 Ceph 分布式文件系统的 FUSE (用户空间文件系统)客户端,它会把 Ceph 文件系统(用 -m 选项或 ceph.conf 指定)挂载到指定挂载点。 文件系统可这样卸载: fusermount -u mountpoint 或向 ceph-fu

  • 我使用Spring Boot开发了这个websocket服务器。服务器与基于js的客户机配合得很好。 控制器: 这是服务器端。现在,对于客户机,我已经创建了一个@ClientEndpoint,当我连接到URI“ws://localhost:8080/spring-mvc-java/chat”时,我能够建立一个连接,并且可以看到@ClientEndpoint的@OnOpen回调被触发。 但是,use

  • 本文向大家介绍基于Springboot2.0构建ES的多客户端,包括了基于Springboot2.0构建ES的多客户端的使用技巧和注意事项,需要的朋友参考一下 有时候我们操作es的时候会有一些特殊的需求,例如需要操作的index使用了不同的es服务器、用户名、密码、参数等,这个时候我们需要使用不同的es的客户端进行操作,但是我们又不希望拆分成多个项目进行使用,这个时候我们就需要在我们的配置中自己构

  • 本文向大家介绍基于Python的ModbusTCP客户端实现详解,包括了基于Python的ModbusTCP客户端实现详解的使用技巧和注意事项,需要的朋友参考一下 前言 Modbus协议是由Modicon公司(现在的施耐德电气Schneider Electric)推出,主要建立在物理串口、以太网TCP/IP层之上,目前已经成为工业领域通信协议的业界标准,广泛应用在工业电子设备之间的互联。 Modb

  • 本文向大家介绍Go语言基于Socket编写服务器端与客户端通信的实例,包括了Go语言基于Socket编写服务器端与客户端通信的实例的使用技巧和注意事项,需要的朋友参考一下 在golang中,网络协议已经被封装的非常完好了,想要写一个Socket的Server,我们并不用像其他语言那样需要为socket、bind、listen、receive等一系列操作头疼,只要使用Golang中自带的net包即可

  • 问题内容: 您是否知道任何免费的Java库都支持HTTP / 1.1的HTTP流水线选项(http://en.wikipedia.org/wiki/HTTP_pipelining)? 问题答案: HTTPClient显然支持此处的流水线: http://www.innovation.ch/java/HTTPClient/ 但是我还没有亲自尝试过,因此无法验证。