使用MySQL UDFs来调用gearman分布式任务分发系统

使用MySQL UDFs来调用gearman分布式任务分发系统

当向表插入数据的时候,触发执行某些任务 安装gearman参加:
http://www.ttlsa.com/html/663.html 一.安装gearman-mysql-udf # apt-get install libmysql++-dev # wget
https://launchpad.net/gearman-mysql-udf/trunk/0.6/+download/gearman-mysql-udf-0.6.tar.gz # tar zxvf gearman-mysql-udf-0.6.tar.gz # ./configure  –with-mysql=/usr/bin/mysql_config –libdir=/usr/lib/mysql/plugin # make # make install # mysql [codesyntax lang=”sql”] mysql> CREATE FUNCTION gman_do RETURNS STRING SONAME “libgearman_mysql_udf.so”; mysql> CREATE FUNCTION gman_do_high RETURNS STRING SONAME “libgearman_mysql_udf.so”; mysql> CREATE FUNCTION gman_do_low RETURNS STRING SONAME “libgearman_mysql_udf.so”; mysql> CREATE FUNCTION gman_do_background RETURNS STRING SONAME “libgearman_mysql_udf.so”; mysql> CREATE FUNCTION gman_do_high_background RETURNS STRING SONAME “libgearman_mysql_udf.so”; mysql> CREATE FUNCTION gman_do_low_background RETURNS STRING SONAME “libgearman_mysql_udf.so”; mysql> CREATE AGGREGATE FUNCTION gman_sum RETURNS INTEGER SONAME “libgearman_mysql_udf.so”; mysql> CREATE FUNCTION gman_servers_set RETURNS STRING SONAME “libgearman_mysql_udf.so”; mysql> SELECT gman_servers_set(“192.168.1.60:4730,192.168.1.60:4731″) as gman_servers;  //设置gearman server +————————————-+ | gman_servers                        | +————————————-+ | 192.168.1.60:4730,192.168.1.60:4731 | +————————————-+ mysql> create table udf_test( -> id int unsigned auto_increment primary key, -> val varchar(20) not null);  //新建表 mysql> create trigger sendmail before insert on udf_test for each row set @return=gman_do_background(‘MAIL’,’undef’);  //创建触发器,当向表udf_test插入数据时候,执行任务。 [/codesyntax] # perl -MCPAN -e shell cpan> install Gearman::Worker  //安装Gearman::Worker模块 cpan> install Mail::SendEasy   //安装Mail::SendEasy模块 # vi WORKER_SENDMAIL.pl   //创建worker任务 [codesyntax lang=”perl”] use strict; use Mail::SendEasy ; use v5.10; use Gearman::Worker; my $worker=new Gearman::Worker; $worker->job_servers(‘192.168.1.60:4730’); $worker->register_function(MAIL=>\&sendmail); $worker->work while 1; sub sendmail{ my $job=shift; my $date=localtime; my $mail = new Mail::SendEasy( smtp => ‘smtp.ttlsa.com’ , user =>
‘service@ttlsa.com’ , pass => ‘******’, ); print “$date\n”; my $status = $mail->send( from    =>
‘service@ttlsa.com’ , from_title => ‘ttlsa’ , to      =>
‘xxxxx@qq.com’ , subject => “MAIL Test $date” , msg     => “$date” , html    => “<b>test $date</b>” , ); if (!$status) { print $mail->error ;} } [/codesyntax] # perl WORKER_SENDMAIL.pl & # perl WORKER_SENDMAIL.pl &  //在后台运行两个worker 二.测试 1.向udf_test表插入数据 mysql> insert into udf_test value (”,’a’); 2.查看是否收到邮件
使用MySQL UDFs来调用gearman分布式任务分发系统 三.Gearman server信息 # telnet 192.168.1.60 4730 Trying 192.168.1.60… Connected to 192.168.1.60. Escape character is ‘^]’. status MAIL    0       0       2 说明:第一列worker名称;第二列jobs执行数量;第三列jobs队列数量;第四列可用worker数量

转载于:https://my.oschina.net/766/blog/211040

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100870.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 格拉姆矩阵(Gram matrix)详细解读

    格拉姆矩阵(Gram matrix)详细解读目录基础知识-向量的内积Grammatrix介绍Grammatrix的应用-风格迁移一、基础知识-向量的内积1.1向量的内积定义:也叫向量的点乘,对两个向量执行内积运算,就是对这两个向

  • Python中的groupby分组

    Python中的groupby分组写在前面:之前我对于groupby一直都小看了,而且感觉理解得不彻底,虽然在另外一篇文章中也提到groupby的用法,但是这篇文章想着重地分析一下,并能从自己的角度分析一下groupby这个好东西~OUTLINE根据表本身的某一列或多列内容进行分组聚合通过字典或者Series进行分组根据表本身的某一列或多列内容进行分组聚合这个是groupby的最常见操作,根据…

  • 腾讯与唯品会笔试面试经历[通俗易懂]

    腾讯与唯品会笔试面试经历

  • C#FindWindowEx参数详解[通俗易懂]

    C#FindWindowEx参数详解[通俗易懂]FindWindowEx参数详解本函数的其他内容在网络上都比较多,这里主要说一下它的参数设置和搜索结果的区别。函数功能:在窗口列表中寻找与指定条件相符的第一个子窗口。该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。函数原型:HWNDFindWindowEx(HWNDh

  • 手机听筒被灰尘堵塞了如何清洗?[通俗易懂]

    手机听筒被灰尘堵塞了如何清洗?[通俗易懂]手机听筒被灰尘堵塞后,会出现声音变小,甚至有杂音的情况,影响了听筒的正常使用,通话时容易听不清对方的声音。按理来说,灰尘附着在听筒上,只要轻轻一吹就可以解决,但听筒上的灰尘为什么会凝固在听筒上呢?请往下看。手机听筒上顽固灰尘形成的原因手机在非封闭的环境中使用,避免不了会接触到灰尘,而常规手机听筒的表面都是细小的网格,极其容易沾染灰尘。灰尘附着在听筒表面以后,如果及时清理,就会变得很容易,用嘴吹两下,或者将听筒朝下,在手上轻轻拍打两下即可。如果听筒上的灰尘没有及时清理,遇到水性或者油性物质

  • SpringMVC-手写一个SpringMVC框架

    SpringMVC-手写一个SpringMVC框架

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号