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

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在线播放一区| 欧美一区二区免费观在线| 国产精品一区二区三区久久| 小嫩嫩精品导航| 欧美一级午夜免费电影| 伊人婷婷久久| 欧美国产日韩在线观看| 欧美精品国产精品日韩精品| 中文国产成人精品| 亚洲欧美日韩国产精品| 狠狠久久亚洲欧美| 91久久在线播放| 欧美精品在线视频| 亚洲一区日韩| 欧美一区国产在线| 91久久久在线| 中文欧美日韩| 在线播放亚洲一区| 亚洲精品一区在线观看| 国产乱子伦一区二区三区国色天香| 久久精品一区二区三区四区| 欧美成人福利视频| 欧美一区二区精品| 欧美不卡在线视频| 欧美亚洲三级| 欧美成年人视频网站欧美| 翔田千里一区二区| 免费观看日韩av| 亚洲人成网站影音先锋播放| 国产欧美日韩综合一区在线播放| 欧美aⅴ一区二区三区视频| 欧美日韩国产精品| 久热精品在线视频| 国产精品久久久久久超碰| 免费观看欧美在线视频的网站| 欧美日韩免费在线| 欧美www视频在线观看| 国产精品久久久久久久久久尿 | 黄色一区二区在线| 99精品免费视频| 亚洲国产日韩欧美一区二区三区| 一区二区三区|亚洲午夜| 亚洲国产精品v| 欧美一区二区三区精品电影| 一区二区三区四区五区精品视频| 久久久噜噜噜| 久久精品91| 国产精品久久久久久久电影| 亚洲高清在线播放| 在线播放国产一区中文字幕剧情欧美| 一区二区三区www| 亚洲狼人综合| 免费观看日韩av| 欧美超级免费视 在线| 国产日本亚洲高清| 亚洲一区在线免费观看| 国产精品99久久久久久久vr| 欧美成人综合一区| 亚洲电影免费观看高清完整版| 国产综合久久久久影院| 欧美一区二区三区视频| 新67194成人永久网站| 国产精品理论片| 中文国产亚洲喷潮| 亚洲专区一区二区三区| 国产精品扒开腿做爽爽爽软件| 亚洲精品美女免费| 亚洲视频自拍偷拍| 欧美网站在线观看| 亚洲一区二区日本| 欧美一区二区日韩| 国产视频亚洲精品| 久久大逼视频| 欧美成在线视频| 亚洲激情网站免费观看| 欧美高清在线播放| 亚洲精品一区二区三区福利| 亚洲午夜精品视频| 国产欧美日韩免费| 久久aⅴ国产紧身牛仔裤| 另类酷文…触手系列精品集v1小说| 国产真实精品久久二三区 | 免费久久99精品国产自在现线| 国内精品久久久久影院优| 久久久久九九视频| 亚洲高清免费视频| 亚洲永久精品国产| 国产一区二区高清不卡| 老司机精品视频网站| 亚洲伦伦在线| 欧美一区午夜视频在线观看| 国产综合视频| 欧美日韩1区2区| 午夜精品福利一区二区三区av | 亚洲综合导航| 国产一区二区丝袜高跟鞋图片| 美女网站久久| 亚洲视频欧美在线| 美国十次了思思久久精品导航| 亚洲美女在线看| 国产欧美一区二区三区沐欲| 麻豆国产精品一区二区三区| 日韩一级在线观看| 老司机免费视频一区二区| 99国产精品久久久| 国内精品嫩模av私拍在线观看| 欧美不卡视频一区发布| 亚洲欧美视频一区二区三区| 亚洲第一网站| 欧美制服丝袜| 中国成人在线视频| 亚洲大胆人体视频| 国产精品呻吟| 欧美区高清在线| 久久精品亚洲精品| 亚洲特黄一级片| 欧美激情区在线播放| 欧美一区亚洲一区| 一本色道久久综合狠狠躁的推荐| 国内外成人在线视频| 欧美三级在线播放| 美女网站久久| 久久久久久综合网天天| 亚洲资源在线观看| 亚洲日本理论电影| 欧美风情在线观看| 久久精品日产第一区二区三区| 99综合精品| 亚洲人成在线播放| 亚洲福利av| 韩国一区二区三区在线观看| 国产精品女主播在线观看| 欧美精品激情在线| 欧美福利视频网站| 久久网站免费| 久久久久久亚洲精品中文字幕 | 一本久道久久久| 91久久黄色| 亚洲精品久久久久久久久久久久久 | 亚洲视频在线看| 一本色道久久综合精品竹菊 | 国模一区二区三区| 国产免费观看久久黄| 国产精品色午夜在线观看| 国产精品户外野外| 国产精品久久久久久久app | 久久久精品国产免大香伊| 久久精品欧美| 久久久久免费视频| 久久米奇亚洲| 欧美精品成人一区二区在线观看| 欧美福利专区| 欧美日本在线| 国产精品黄色| 国产亚洲欧美日韩在线一区| 国产午夜精品麻豆| 激情成人av在线| 亚洲国产片色| 99re6热只有精品免费观看| 一区二区三区国产在线观看| av成人手机在线| 亚洲自拍另类| 久久经典综合| 欧美成人自拍视频| 亚洲精品久久7777| 亚洲天堂久久| 久久久久国产精品麻豆ai换脸| 久久精品日产第一区二区三区| 久久亚洲一区二区三区四区| 欧美电影在线播放| 国产精品美女视频网站| 黑人中文字幕一区二区三区| 亚洲精品国产无天堂网2021| 亚洲特黄一级片| 久久久人成影片一区二区三区| 欧美国产第二页| 在线视频免费在线观看一区二区| 欧美在线看片| 欧美日本高清| 国产一区二区三区奇米久涩| 最新国产拍偷乱拍精品| 亚洲欧美精品中文字幕在线| 麻豆九一精品爱看视频在线观看免费 | 黄页网站一区| 亚洲一区免费| 亚洲第一毛片| 亚洲欧美日韩天堂| 欧美国产三区| 国产一区日韩一区| 一区二区欧美激情| 久久综合婷婷| 午夜伦欧美伦电影理论片| 欧美精品一区在线播放| 在线观看久久av| 欧美一区二区三区免费视频| 亚洲精品一区二区三区av| 久久先锋资源| 国产亚洲免费的视频看|