comparison pylons_app/lib/celerylib/tasks.py @ 502:ac32a026c306

simplified task locking, and fixed some bugs for keyworded arguments
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 23 Sep 2010 21:25:30 +0200
parents fb0c3af6031b
children d280aa1c85c6
comparison
equal deleted inserted replaced
501:207f5f4d3f93 502:ac32a026c306
1 from celery.decorators import task 1 from celery.decorators import task
2 from celery.task.sets import subtask 2 from celery.task.sets import subtask
3 from celeryconfig import PYLONS_CONFIG as config 3 from celeryconfig import PYLONS_CONFIG as config
4 from pylons.i18n.translation import _ 4 from pylons.i18n.translation import _
5 from pylons_app.lib.celerylib import run_task, LockTask 5 from pylons_app.lib.celerylib import run_task, locked_task
6 from pylons_app.lib.helpers import person 6 from pylons_app.lib.helpers import person
7 from pylons_app.lib.smtp_mailer import SmtpMailer 7 from pylons_app.lib.smtp_mailer import SmtpMailer
8 from pylons_app.lib.utils import OrderedDict 8 from pylons_app.lib.utils import OrderedDict
9 from operator import itemgetter 9 from operator import itemgetter
10 from vcs.backends.hg import MercurialRepository 10 from vcs.backends.hg import MercurialRepository
80 log.info('LockHeld') 80 log.info('LockHeld')
81 return 'LockHeld' 81 return 'LockHeld'
82 82
83 83
84 @task 84 @task
85 @LockTask('get_commits_stats') 85 @locked_task
86 def get_commits_stats(repo_name, ts_min_y, ts_max_y): 86 def get_commits_stats(repo_name, ts_min_y, ts_max_y):
87 author_key_cleaner = lambda k: person(k).replace('"', "") #for js data compatibilty 87 author_key_cleaner = lambda k: person(k).replace('"', "") #for js data compatibilty
88 88
89 from pylons_app.model.db import Statistics, Repository 89 from pylons_app.model.db import Statistics, Repository
90 log = get_commits_stats.get_logger() 90 log = get_commits_stats.get_logger()