青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

xiaoguozi's Blog
Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····

Recently I've come face-to-face with a significant processing task for a web application written in PHP.  I haven't worked with process control very much, so I started researching ways of distributing the calculations to multiple processes.  PHP offers several libraries for doing this (pcntl, POSIX), but it quickly became clear that if you're running Windows these libraries are not an option, and unfortunately at work I have a Windows machine.  After a lot more research, I came across Gearman.

Gearman is essentially a distributed processing framework, and seems to have community support for many programming languages.  It consists of two main components: the job server, and a Client and Worker API.  The Client and Worker API can be used in a wide variety of languages, but the job server is only available as a C library or a Perl library.  This makes it a bit tougher to get the server running on Windows, especially when you start running into some of the dependencies that it requires to build.  As well, the Client/Worker API for PHP can only be installed as a PECL extension, or a very-out-of-date PEAR extension called Net_Gearman.

Nonetheless, after yet more research I decided that I would give it a shot by using Cygwin to get the job server running (if you haven't used Cygwin before, be sure to read about it before attempting to install Gearman this way), and PEAR to use the API.  Pre-built PECL extensions aren't available for Windows anymore, and the build process for PHP extensions can be pretty painful, so it makes PEAR look good by comparison even if the code will be out of date.

I had a pretty frustrating time finally getting everything up and running due to various dependency issues, so I went back through the whole process and wrote it out step-by-step.  I used a Windows XP SP3 machine for this, but I also got it working on a Windows 7 machine as well.

Installing the Gearman job server (gearmand) on Windows with Cygwin

Installing Cygwin

  1. If you don't have Cygwin already, you can get it from http://www.cygwin.com.  The setup file is located here, and the setup process is pretty straightforward; run it and follow the wizard.  Full installation instructions are available at the Cygwin site.
  2. Keep the Cygwin setup.exe file handy after you've installed the default software packages, as you'll need it in the future to add packages, similar to apt-get, yum, and other Linux/UNIX package managers.
  3. Cygwin installs with some basic packages, including a Cygwin Bash Shell that goes into your Start Menu.  I prefer the mintty emulator instead, as it has less of a DOS Command Prompt feel and better terminal features.  Feel free to use whatever shell you like of course.  You can get mintty by re-running the setup.exe, and at the package selection screen, type 'mintty' into the Search bar at the top left.  Expand the "Shells" category, and click on the word "Skip" under the "New" column beside the mintty package to select it before continuing the install process.

Installing Cygwin Package Dependencies needed for Gearman

If you're not already in the Cygwin setup, re-run the Cygwin setup.exe and go through to the package selection screen.  The following is a list of dependency packages you will need in order to build the Gearman job server (gearmand).  None of these packages were installed by default with Cygwin:

  • gcc
  • make
  • libuuid1-devel
  • libiconv

There's a good installation tutorial here that walks through getting gcc and make installed for people unfamiliar with Cygwin.  Finding the others is pretty straightforward, the Search bar in the package selector works well.

Installing libevent

Gearmand requires an event notification library called libevent that you cannot get as a Cygwin package, which means it has to be installed from source.  You can get the source here.

  1. Download and unpack the latest libevent stable release.  At the time of this writing, I used libevent-1.4.14b-stable.
    NOTE: Download and unpack to a directory that does not contain spaces in the name, such as "C:/cygwin/home/Zombat/libevent-1.4.14b-stable".  If you unpack to something with spaces like "C:/Documents and Settings/Zombat/", the build process might not be able to install libevent correctly (libtool has a hard time with spaces)!
  2. Open a Cygwin shell and cd to the unpacked libevent directory.
  3. Run the following commands:

./configure
make
make install

libevent should now be installed and ready to be used when compiling the Gearman job server.

Installing the Gearman job server, gearmand.exe

  1. Download and unpack the C implementation of gearmand from http://gearman.org/index.php?id=download
  2. Open a cygwin shell and cd to your unpacked gearmand directory.  Same rules apply as before, make sure you've unpacked in a directory with no spaces in the path!  libtool hates that, and your build may fail.
  3. Run the following commands:

./configure
make
make install

The Gearman job server should now be installed and ready to use!  Mine was installed at /usr/local/sbin/gearmand.exe, and running it with a "triple verbose" flag (-vvv) should produce the following:

gearmand.exe startup debug output

That's it for the job server.  When you want to start it, simply open a Cygwin shell and run gearmand.exe.  Running it with the -d flag will cause the server to run as a daemon in the background, and running with --help will show you the full option list.

Installing the Gearman Client and Worker API (Net_Gearman)

I chose to install the PEAR Client and Worker API, as it is native PHP and doesn't involve compiling PECL extensions.  The PEAR package is called Net_Gearman, and was originally written by Joe Stump at Digg.com.  It is old and out of date now, although there appears to be a more recent fork at http://github.com/brianlmoon/net_gearman.  I stuck with the older version, as I suspect it will meet my needs, and was readily available as a PEAR package.

This also makes installation relatively painless.  Assuming you've previously set PEAR up, then all you have to do is open a command window (not a Cygwin shell) and run:

pear install Net_Gearman-alpha

The "-alpha" portion is necessary, as Net_Gearman apparently never made it to a stable release version.  That being said, it has functioned well for me so far.  Perhaps someone will pick the project up in the future.

I'll write more about getting started with the Client and Worker API in the next article, so we can actually use Gearman to get some work done.

轉自:
http://www.phpvs.net/2010/11/30/installing-gearman-and-gearmand-on-windows-with-cygwin/
posted on 2012-12-28 11:17 小果子 閱讀(2657) 評論(0)  編輯 收藏 引用 所屬分類: 學習筆記C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久热精品视频在线| 日韩一级黄色av| 久久精品30| 国产一区二区在线观看免费播放| 欧美一区二区三区免费视频| 亚洲欧美区自拍先锋| 国产日韩欧美亚洲一区| 久久高清国产| 久久久免费精品视频| 亚洲黑丝在线| 9久re热视频在线精品| 国产精品va在线播放我和闺蜜| 午夜精品一区二区三区在线视 | 亚洲一区二区三区在线视频| 亚洲精品资源美女情侣酒店| 国产精品毛片a∨一区二区三区|国| 欧美一级片在线播放| 欧美中文字幕不卡| 亚洲精品国产精品乱码不99| 99热精品在线| 国产综合色产| 亚洲人午夜精品| 国产精品亚洲网站| 欧美国产综合一区二区| 欧美日一区二区三区在线观看国产免| 欧美在线播放一区二区| 噜噜爱69成人精品| 先锋影音网一区二区| 久久婷婷久久| 亚洲欧美一区二区原创| 久久最新视频| 校园春色综合网| 欧美成人自拍视频| 欧美在线影院在线视频| 欧美激情一区二区三区四区| 久久爱91午夜羞羞| 欧美日本免费| 欧美插天视频在线播放| 国产精品日韩欧美一区二区三区| 欧美国产视频在线| 国产欧美日韩精品丝袜高跟鞋| 欧美激情中文字幕一区二区| 国产欧美日韩麻豆91| 亚洲黑丝在线| 亚洲电影免费在线观看| 亚洲免费视频网站| 一区二区日韩| 另类人畜视频在线| 久久久亚洲国产天美传媒修理工 | 久久夜色精品国产亚洲aⅴ| 亚洲午夜在线| 欧美精品一区三区在线观看| 麻豆9191精品国产| 国产一区二区三区高清播放| 一区二区日韩精品| 日韩一级在线观看| 麻豆精品一区二区av白丝在线| 久久精品国产69国产精品亚洲| 欧美色综合网| 99精品视频免费全部在线| 亚洲精品乱码久久久久久| 久久全球大尺度高清视频| 久久久www成人免费无遮挡大片| 国产精品女人网站| 夜夜嗨一区二区三区| 在线一区二区三区四区五区| 欧美日韩国产二区| 日韩视频永久免费| 99re在线精品| 欧美三级免费| 亚洲私人影院| 香蕉成人啪国产精品视频综合网| 国产精品剧情在线亚洲| 亚洲一区二区三区激情| 亚洲欧美久久久| 国产麻豆精品视频| 欧美中日韩免费视频| 久久中文字幕导航| 亚洲国产婷婷综合在线精品| 欧美成人精品激情在线观看| 亚洲人被黑人高潮完整版| 在线视频精品一区| 国产精品毛片| 久久狠狠婷婷| 欧美激情按摩在线| 亚洲无线视频| 国产亚洲毛片在线| 免费欧美日韩| 一级日韩一区在线观看| 欧美自拍偷拍午夜视频| 伊大人香蕉综合8在线视| 欧美aaa级| 一区二区三区四区五区在线| 久久精品91久久香蕉加勒比| 在线看国产一区| 欧美日韩国产精品成人| 亚洲在线播放| 亚洲第一免费播放区| 亚洲一区激情| 激情小说另类小说亚洲欧美 | 久久综合中文字幕| 亚洲精品资源| 久久一区二区三区超碰国产精品| 亚洲日本免费电影| 国产精品一区二区你懂的| 久久中文字幕导航| 亚洲一区二区三区免费观看| 欧美www视频在线观看| 中文欧美在线视频| 亚洲成色www8888| 国产精品av一区二区| 久久综合导航| 午夜在线精品偷拍| 亚洲激情影院| 久久午夜精品| 午夜一区不卡| 99热这里只有成人精品国产| 国产在线播精品第三| 欧美性久久久| 欧美电影在线| 久久一区激情| 欧美亚洲系列| 亚洲一级特黄| 99re这里只有精品6| 欧美成人精品在线视频| 欧美影视一区| 亚洲欧美日韩综合| 日韩午夜av| 亚洲精品系列| 亚洲激情小视频| 亚洲国产激情| 狠狠爱综合网| 好吊色欧美一区二区三区四区| 国产精品卡一卡二卡三| 欧美视频官网| 欧美日韩另类综合| 欧美精品一区二区在线播放| 女人色偷偷aa久久天堂| 久久精品中文字幕免费mv| 小黄鸭精品密入口导航| 亚洲综合色网站| 亚洲男人的天堂在线aⅴ视频| 一区二区三区久久| 亚洲最新视频在线| 一区二区久久久久久| 亚洲精品综合久久中文字幕| 亚洲人被黑人高潮完整版| 最新国产の精品合集bt伙计| 亚洲国产日韩欧美在线图片 | 亚洲欧美激情精品一区二区| 亚洲一品av免费观看| 亚洲视频欧美视频| 亚洲男人天堂2024| 欧美一区二区女人| 欧美在线free| 久热精品视频在线观看一区| 鲁大师成人一区二区三区| 欧美成在线视频| 亚洲区中文字幕| 一区二区三区欧美成人| 亚洲午夜精品久久久久久浪潮| 亚洲永久精品大片| 久久高清一区| 欧美激情久久久久| 国产精品成人在线| 国产专区综合网| 亚洲人成啪啪网站| 亚洲一区二区三区精品动漫| 欧美在线观看一区| 欧美电影免费观看大全| 亚洲精品乱码久久久久久蜜桃91| 在线综合视频| 久久久久久久999精品视频| 欧美大片一区二区三区| 国产精品久久久久免费a∨| 国产一区二区三区四区hd| 91久久综合亚洲鲁鲁五月天| 中日韩美女免费视频网站在线观看| 午夜精品久久久久久久久久久久| 乱人伦精品视频在线观看| 最新国产成人av网站网址麻豆| 亚洲一区二区少妇| 麻豆久久久9性大片| 国产精品理论片| ●精品国产综合乱码久久久久| 中国女人久久久| 蜜桃精品久久久久久久免费影院| 亚洲三级免费| 久久激情五月丁香伊人| 欧美日韩视频在线一区二区| 国语自产精品视频在线看一大j8| 9人人澡人人爽人人精品| 久久精品国产亚洲aⅴ| 亚洲精品在线视频观看| 久久久中精品2020中文| 国产精品美女久久久久av超清| 亚洲国产欧美日韩| 久久久久久夜精品精品免费| 日韩午夜av| 欧美高清视频一区|