Skip to content

Instantly share code, notes, and snippets.

@alswl
Created June 28, 2013 03:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alswl/5882279 to your computer and use it in GitHub Desktop.
Save alswl/5882279 to your computer and use it in GitHub Desktop.
# coding=utf-8
"""Worker Scripts"""
import os
import sys
_root = os.path.dirname(os.path.abspath(__file__))
import cPickle as pickle
import logging
from tornado.options import options
from gearman import GearmanWorker
try:
import mg
except ImportError:
sys.path.append(os.path.join(_root, ".."))
from mg.libs.options import parse_options
from mg.app import Application
def init():
parse_options()
def main():
init()
logger = logging.getLogger('worker')
logger.info('Worker start')
from mg.libs.servers import gearman_client
from mg.models.feed.feed_utils import broadcast
from mg.models.photo.service import update_to_solr
application = Application() # for init environment
gearman_worker = GearmanWorker(options.gearman_servers)
gearman_worker.set_client_id('client_id_42')
gearman_worker.register_task('broadcast', broadcast)
gearman_worker.register_task('update_to_solr', update_to_solr)
gearman_worker.work()
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment