root/docs/tokuhirom/20080827-microblogcon-jobqueue/main.txt
@
18318
| Revision 18318, 2.0 kB (checked in by tokuhirom, 5 years ago) |
|---|
| Rev | Line | |
|---|---|---|
| [18318] | 1 | Queueueueueue |
| [14649] | 2 | <div style="text-align: right"> |
| [18318] | 3 | 2008-08-27(Wed) MicroBlogCon#1 |
| 4 | tokuhirom | |
| [14649] | 5 | </div> |
| 6 | ---- | |
| [18318] | 7 | 焦点。 |
| 8 | Gearman/TheSchwartz と Q4M | |
| [14649] | 9 | ---- |
| [18318] | 10 | 随時ツッコミ歓迎 |
| 11 | (主に id:kazuhooku の) | |
| [14649] | 12 | ---- |
| [18318] | 13 | Gearman |
| [14649] | 14 | ---- |
| [18318] | 15 | client, gearmand, worker |
| [14649] | 16 | ---- |
| [18318] | 17 | gearmand |
| 18 | - Gearman::Server | |
| 19 | - pure perl | |
| 20 | - binary protocol | |
| 21 | - store jobs on memory | |
| [14649] | 22 | ---- |
| [18318] | 23 | Gearman::Worker |
| 24 | - select(2) でまってるからリアルタイムだョ | |
| [14649] | 25 | ---- |
| [18318] | 26 | Gearman::Client |
| 27 | - perl, ruby, python | |
| [14649] | 28 | ---- |
| [18318] | 29 | Gearman::Client::Async |
| 30 | - Danga::Socket | |
| 31 | - epoll(2)/kqueue(2)/select(2) | |
| 32 | - 非同期に結果をうけとれる | |
| 33 | - DJabberd | |
| 34 | -- based on Danga::Socket | |
| 35 | -- XMPP Server | |
| [14649] | 36 | ---- |
| [18318] | 37 | 用途 |
| 38 | - Danga::Socket な鯖でブロッキング(DJabberd) | |
| 39 | - ヒトコトを投稿したときのフック | |
| [14649] | 40 | ---- |
| [18318] | 41 | フックでやること多すぎにつき |
| 42 | - IM に通知 | |
| 43 | - fav otsune | |
| 44 | - リアルタイムで処理したいけど、Apache ではやるほどのこともない | |
| [14649] | 45 | ---- |
| [18318] | 46 | TheSchwartz |
| [14649] | 47 | ---- |
| [18318] | 48 | - reliable job queue |
| 49 | - MySQL にがんばるの術 | |
| 50 | - インストール楽すぎる | |
| [14649] | 51 | ---- |
| [18318] | 52 | reliable? |
| [14649] | 53 | ---- |
| [18318] | 54 | Yes! Gearman is not a reliable! |
| 55 | - 落ちちゃうときもある | |
| 56 | - お茶目な存在 | |
| [14649] | 57 | ---- |
| [18318] | 58 | 実装 |
| 59 | - 1秒に一回ぐらい SQL うってジョブないかみてる | |
| [14649] | 60 | ---- |
| [18318] | 61 | 用途 |
| 62 | - Feed の生成 | |
| 63 | - 画像ブログパーツのさくせい | |
| 64 | - cron のスクリプト | |
| 65 | - gearman → TheSchwartz | |
| 66 | - etc. | |
| [14649] | 67 | ---- |
| [18318] | 68 | Perl モジュールの読み込みおそいよー >< |
| 69 | そこで TheSchwartz | |
| [14649] | 70 | ---- |
| [18318] | 71 | ポイント |
| 72 | - リアルタイム性がない | |
| 73 | - 信頼できる男。MySQL | |
| [14649] | 74 | ---- |
| [18318] | 75 | Q4M |
| [14649] | 76 | ---- |
| [18318] | 77 | 持続的な非同期コミュニケーションのための |
| 78 | ミドルウェア | |
| [14649] | 79 | ---- |
| [18318] | 80 | MySQL5.1 storage engine |
| [14649] | 81 | ---- |
| [18318] | 82 | >|| |
| 83 | while (1) { | |
| 84 | SELECT queue_wait('queue'); # XXX block! | |
| 85 | my @row = SELECT ROW * FROM queue or next; | |
| 86 | # snip | |
| 87 | } | |
| 88 | ||< | |
| [14649] | 89 | ---- |
| [18318] | 90 | Q4Mでしかできないこと |
| 91 | - キューの (reliable) forward | |
| 92 | - 特定のフィールドの条件を指定した conditional subscription | |
| 93 | ってあたりになるのかなぁ | |
| 94 | (id:kazuhooku 談) | |
| [14649] | 95 | ---- |
| [18318] | 96 | みんな Q4M つかえばいいよ! |
| [14649] | 97 | ---- |
| [18318] | 98 | Q4M の欠点。 |
| 99 | ---- | |
| 100 | インスコまんどいお >< | |
| 101 | ---- | |
| [14649] | 102 | That's all. |
| 103 | Thanks. |
Note: See TracBrowser
for help on using the browser.
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)