Ubuntuのデスクトップをcinnamonに変えた

年明け恒例の環境見直しついでに。

http://image.hexacosa.net/images/container/000000000000044d_M.png

インストールは Gnome2スタイルのGnome-shell -Cinnamon- | Ubuntu通信 を参考に。

うーん、Ubuntu10.10、11.04頃が一番サクサク動いてたなー。もうなんかね。。

groongaのZsh補完関数を書きました

どうも私はZsh補完関数が無いと落ち着かない性格のようで、 groongaのZsh補完関数が無さそうだったので つくってみました。

楽しいZsh生活を。

Pyresを使ってみた

Pythonの resque クローンであるところの、 pyres を使ってみましたので、 その使用感を淡々と記録します。

pyresって

pyresRedis をバックエンドに使った、ジョブキューサービスを 提供するPythonモジュールです。 ワーカに実行させたいジョブをあらかじめ登録しておき、 実行したい時にエンキューして使います。 同じような用途のモジュールには Celery なんかがあります。

セットアップ

インストールは以下でOK。

pip install pyres

使い方

まずはバックグラウンドで実行したいジョブを定義します。

import time

class TestJob(object):
    queue = "Spam"

    @staticmethod
    def perform(arg):
        time.sleep(5)
        print arg

次にワーカ(実際にジョブを実行するプロセス)を定義します。

# worker.py
from pyres import setup_logging
from pyres.worker import Worker
from tasks import TestJob

setup_logging()
Worker.run(["Spam"])

で、ワーカ起動。

python worker.py

Webフロントエンドが付属しているので、ワーカが動作しているかを確認してみます。 "0 of 1 Workers Working" と表示されていればOKです。

pyres_web -p 8088
http://image.hexacosa.net/images/container/000000000000043e_M.jpg

エンキューする側のスクリプトは以下です。

# enqueue.py
from pyres import ResQ
from tasks import TestJob

r = ResQ(server="localhost:6379")
r.enqueue(TestJob, 23)
print r.info()

実行して処理されるまでを確認。

python enqueue.py

ワーカ側のログ

2011-09-04 12:11:04 INFO     Found job on Spam
2011-09-04 12:11:04 INFO     Processing Spam since 2011-09-04 12:11:04.905254
2011-09-04 12:11:04 INFO     Forked 5592 at 2011-09-04 12:11:04.907010
23
2011-09-04 12:11:09 INFO     done working

ワーカが処理中であればWebからも処理中かどうかを確認できます。 処理中であれば以下のような感じで表示されます。

http://image.hexacosa.net/images/container/000000000000043f_M.jpg

まとめ

Redisがあれば簡単に動かせますし、 ワーカ自体も Supervisor とかで管理すれば簡単に管理できそうなので、 一度試してみてはいかがでしょうか?

では。

pgmagick version0.4.2 has been released

少し前にsupervisord/supervisorctlのZsh補完関数書いた

Lifelog 2011.06

Older Blog Posts