tasks.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import getopt
  4. import sys
  5. import os
  6. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  7. sys.path.insert(0, PROJECT_ROOT)
  8. try:
  9. options, args = getopt.getopt(sys.argv[1:], 'e:t:', ['env=', 'task='])
  10. except getopt.GetoptError:
  11. sys.exit()
  12. system_env = 'testing'
  13. task_name = None
  14. for name, value in options:
  15. if name in ('-e', '--env'):
  16. system_env = value
  17. if name in ('-t', '--task'):
  18. task_name = value
  19. if not system_env:
  20. print 'error system env = {env}'.format(env = system_env)
  21. sys.exit(2)
  22. if not task_name:
  23. print 'error task name = {}'.format(task_name)
  24. sys.exit(2)
  25. import os
  26. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'configs.{env}'.format(env = system_env))
  27. from script.base import init_env
  28. init_env(interactive = False)
  29. from taskmanager.mediator import task_caller_once
  30. task_caller_once(func_name = task_name, routing_key = 'dealer_data_anylyse', queue = 'dealer_data_anylyse')