ProcessHandler

🍭 Manage your python app's process !

MIT License

Stars
90

:

ProcessHandler

ProcessHandlergunicorn, wsgi.

  • daemon mode
  • pypy
  • accept
  • worker
  • msgpack-rpc
  • worker
  • cpu bind

:

Master Worker. nginx.

:

ProcessHandlemasterworker.masterworkerworkerworkerworker()worker. workermasterworkerworkerbugworker master worker frame


config.py:

[DEFAULT]
#kill,worker
graceful_timeout        = 3

#
base_path               = . 

#
log_path                = .

#
single_instance         = false

[jobexecute]
#
daemonize               = true

#
proc_name               = jobexecute

#MasterPID
pidfile                 = %(base_path)s/master.pid

#
log_file                = %(log_path)s/master.log

#,
max_requests            = 10000

#,
number_workers          = 2


##:

ProcessHandler,.

pip install requirement.txt

. copy.

# coding=utf-8

import time
import logging
import traceback

from ProcessHandler.lib.log import setup_file_logging
from ProcessHandler.lib.workers.sync import SyncWorker


class JobExecute(SyncWorker):

    LOGGER_NAME = "jobexecute"

    def __init__(self, cfg, file_logger=None, ppid=None, sockets=None):
        SyncWorker.__init__(self, cfg, file_logger, ppid)
        setup_file_logging(self.LOGGER_NAME, self.cfg.log_file)
        self.logger = logging.getLogger(self.LOGGER_NAME)

    def setup(self):
        super(JobExecute, self).setup()

    def init_process(self):
        super(JobExecute, self).init_process()

    def stop(self):
        super(JobExecute, self).stop()

    def handle_request(self):
        while 1:
            print 'go....'
            logger.info('go...')
            time.sleep(1.5)

if __name__ == '__main__':
    pass