当前位置: 首页 > 软件库 > Web应用开发 > 网站API >

Gearman-Go

Gearman-API 的 Go 语言版本
授权协议 MIT
开发语言 Google Go
所属分类 Web应用开发、 网站API
软件类型 开源软件
地区 国产
投 递 者 羊舌承
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Gearman-Go 是 Gearman-API 的 Go 语言封装版本,示例代码:

Worker:

// Limit number of concurrent jobs execution. 
// Use worker.Unlimited (0) if you want no limitation.
w := worker.New(worker.OneByOne)
w.ErrHandler = func(e error) {
    log.Println(e)
}
w.AddServer("127.0.0.1:4730")
// Use worker.Unlimited (0) if you want no timeout
w.AddFunc("ToUpper", ToUpper, worker.Unlimited)
// This will give a timeout of 5 seconds
w.AddFunc("ToUpperTimeOut5", ToUpper, 5)

if err := w.Ready(); err != nil {
    log.Fatal(err)
    return
}
go w.Work()

Client:

// ...
c, err := client.New("tcp4", "127.0.0.1:4730")
// ... error handling
defer c.Close()
c.ErrorHandler = func(e error) {
    log.Println(e)
}
echo := []byte("Hello\x00 world")
echomsg, err := c.Echo(echo)
// ... error handling
log.Println(string(echomsg))
jobHandler := func(resp *client.Response) {
    log.Printf("%s", resp.Data)
}
handle, err := c.Do("ToUpper", echo, client.JobNormal, jobHandler)
// ...
  • Gearman版本 Gearman网址:gearman.org 0.14是标准C的版本,适合研究源码 0.33是C++版本,增加了gearadmin工具 1.1.11是最新版本   对于任务高度功能来说,各版本变化不大,主要的变化 是持久化功能与开发库的变化   安装Gearman 一、安装gearman服务 1.安装libevent tar xzvf libevent-2.0.4-alpha.t

  • 背景:用PHP做一些简单的上传是没有任何的问题,但是要做断点上传好像也是没有大问题,但要是并发的切片加断点上传可能就会有问题了哟。 第一个问题是合并问题:如果一上传就合并,PHP老半天不返回是一个方面(是PHP超时还是Nginx超时?),这样势必会造成客户端因没返回,没法再启动新的上传进程,如果用php的追加写文件内存太大还会退出的可能,用上gearmand后出现异步同时写,可能加快了传输效率的同

  • python-gearman使用 yum -y install gearmand chkconfig gearmand on && /etc/init.d/gearmand start # /etc/sysconfig/gearmand 指定 OPTIONS=""里的内容,添加持久性等功能 example worker.py #!/usr/bin/env python # -*- encodin

  • 首先区分一下概念 -Gearman Gearman是一个用来把工作委派给其他机器、分布式的调用更适合做某项工作的机器、并发的做某项工作在多个调用间做负载均衡、或用来在调用其它语言的函数的系统。 一个Gearman请求的处理过程涉及三个角色:Client -> Job -> Worker。 Client:请求的发起者,可以是 C,PHP,Perl,MySQL UDF 等等。 Job:请求的调度者,用

  • Allowedoptions:Allowedoptions:一般选项:-b[--backlog]arg(=32)Numberof backlog connectionsforlisten.-d[--daemon]守护进程模式。立即结束命令行,在后台运行gearmand--exceptions默认启用协议层的异常Enableprotocol exceptionsbydefault.-f[--file

 相关资料
  • 本文向大家介绍浅析Go语言版本的forgery,包括了浅析Go语言版本的forgery的使用技巧和注意事项,需要的朋友参考一下 使用过Python语言的朋友们可能使用过 forgery_py ,它是一个伪造数据的工具。能伪造一些常用的数据。在我们开发过程和效果展示是十分有用。但是没有Go语言版本的,所以就动手折腾吧。 从源码入手 在forgery_py的 PyPi 有一段的实例代码: 从以上的方法

  • Go语言圣经(中文版) http://golang-china.github.io/gopl-zh/ 英文原版 http://gopl.io/

  • 本文向大家介绍go语言版的ip2long函数实例,包括了go语言版的ip2long函数实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言版的ip2long函数。分享给大家供大家参考。具体分析如下: 这里介绍的go语言版的ip2long 函数不会对 IP 的合法性进行校验。 希望本文所述对大家的Go语言程序设计有所帮助。

  • Go Blog In Action 中文名 Go语言博客实践,是对 TypePress 开发过程中的想法、方法、探讨等任何方面同步整理成的电子书。

  • 前面两个小节我们分别学习了 Go 语言中的变量声明和赋值。按照一贯的思维,变量肯定是要先声明然后才能被赋值并使用。但是在 Go 语言中新增了一个特殊的运算符 := ,这个运算符可以使变量在不被声明的情况下直接使用,这节课我们就来具体看下这个特殊的运算符: 1. 单变量 := Go 语言中新增了一个特殊的运算符:=,这个运算符可以使变量在不声明的情况下直接被赋值使用。其使用方法和带值声明变量类似,只

  • 我试图遵循Google Sheets API快速入门: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate (向下滚动到示例,然后单击GO) 以下是我尝试更新电子表格的方式: 输出: hello.go:43:结构初始化器中无效的字段名ValueInputOption h