• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python uwsgi.register_signal函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中uwsgi.register_signal函数的典型用法代码示例。如果您正苦于以下问题:Python register_signal函数的具体用法?Python register_signal怎么用?Python register_signal使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了register_signal函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: __init__

    def __init__(self, target_temp):
        self._target_temp = target_temp
        self._timestep = 0
        self._MIN_VALID_TEMP = -5.0
        self._MAX_VALID_TEMP = 30.0
        self._READING_TICK = 5
        self._DELTA_OVERSHOOT_TEMP = 2.0
        self._SSR_PIN = 11
        self._compressor_state = True
        self._sensors = {}
        self._sensors['000001efbab6'] = 'top'
        self._sensors['000001efd9ac'] = 'bottom'
        self._sensors['000001eff556'] = 'beer'
        self._sensor_readings = deque(
            maxlen=int(60/self._READING_TICK)*len(W1.get_available_sensors())
        )

        logging.config.dictConfig(app.config['LOG_CONFIG'])
        self.logger = logging.getLogger('agent')

        if not app.config['DEBUG']:
            GPIO.setmode(GPIO.BOARD)
            GPIO.setup(self._SSR_PIN, GPIO.OUT)
            uwsgi.register_signal(9000, 'worker', self.run)
            uwsgi.add_timer(9000, 5)
            atexit.register(lambda: self.cleanup())

        if app.config['LOG_DEBUG']:
            self.logger.setLevel(logging.DEBUG)
        else:
            self.logger.setLevel(logging.WARN)

        self.logger.info("Agent started")
开发者ID:Webrewthebestbeer1,项目名称:fridge,代码行数:33,代码来源:agent.py


示例2: __init__

    def __init__(self, conf):

        super(uWSGIMixin, self).__init__(conf)

        class Lock():

            def __enter__(self):
                uwsgi.lock()

            def __exit__(self, exc_type, exc_val, exc_tb):
                uwsgi.unlock()

        def spooler(args):
            try:
                self.mailer.sendmail(args["subject"].decode('utf-8'), args["body"].decode('utf-8'))
            except smtplib.SMTPConnectError:
                return uwsgi.SPOOL_RETRY
            else:
                return uwsgi.SPOOL_OK

        uwsgi.spooler = spooler

        self.lock = Lock()
        self.mailer = SMTP(conf)
        self.cache = uWSGICache

        timedelta = conf.getint("moderation", "purge-after")
        purge = lambda signum: self.db.comments.purge(timedelta)
        uwsgi.register_signal(1, "", purge)
        uwsgi.add_timer(1, timedelta)

        # run purge once
        purge(1)
开发者ID:morozd,项目名称:isso,代码行数:33,代码来源:core.py


示例3: init_env_and_config

def init_env_and_config(app):
    if not app.config['FLATPAGES_ROOT']:
        app.config['FLATPAGES_ROOT'] = os.path.join(
            os.path.dirname(os.path.abspath(__file__)),
            '../content')
    if app.config['CONTENT_URL']:
        init_repo(app.config["FLATPAGES_ROOT"], app.config['CONTENT_URL'])
    else:
        if not os.path.isdir(app.config['FLATPAGES_ROOT']):
            os.mkdir(app.config['FLATPAGES_ROOT'])

    try:
        import uwsgi
    except ImportError:
        logger.info("uwsgi package not found, uwsgi_timer hasn't been set")
    else:
        def update_uwsgi(signum):
            flatpages_root = app.config["FLATPAGES_ROOT"]
            logger.debug("Udpating git repository at %s", flatpages_root)
            hasToReload = update_repo(flatpages_root)
            if hasToReload:
                logger.debug("Reloading flatpages…")
                uwsgi.reload()

        logger.debug("Registering repo update to uwsgi signal")
        uwsgi.register_signal(20, "", update_uwsgi)
        uwsgi.add_timer(20, 300)

    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

    if not app.config.get('SECRET_KEY'):
        if not app.debug:
            logger.warning('SECRET_KEY not set. Using default Key.')
        app.config['SECRET_KEY'] = "yIhswxbuDCvK8a6EDGihW6xjNognxtyO85SI"
开发者ID:gwTumm,项目名称:sipa,代码行数:34,代码来源:initialization.py


示例4: start

 def start(self, interval, now=False):
     signum = get_free_signal()
     uwsgi.register_signal(signum, '', self._handle_signal)
     uwsgi.add_timer(signum, interval)
     if now:
         try:
             self._handle_signal(signum)
         except Exception as e:
             print e
             pass
开发者ID:GaretJax,项目名称:docker-deployer,代码行数:10,代码来源:utils.py


示例5: __init__

 def __init__(self, path):
     try:
         import os
         import uwsgi
         signal = [signum for signum in range(0,256) if not uwsgi.signal_registered(signum)][0]
         uwsgi.register_signal(signal, '', uwsgi.reload)
         for path in [x[0] for x in os.walk(path)]:
             uwsgi.add_file_monitor(signal, path.decode(encoding='UTF-8'))
     except Exception as err:
         pass # Not running under uwsgi. The other supported alternative is gunicorn. 
开发者ID:sergiosgc,项目名称:ZeroMass.py,代码行数:10,代码来源:AutoReloader.py


示例6: initialize

def initialize(signal_number=DEFAULT_TIMER_SIGNAL_NUMBER,
               update_period_s=DEFAULT_UPDATE_PERIOD_S):
    """Initialize metrics, must be invoked at least once prior to invoking any
    other method."""
    global initialized
    if initialized:
        return
    initialized = True
    uwsgi.add_timer(signal_number, update_period_s)
    uwsgi.register_signal(signal_number, MULE, emit)
开发者ID:hjacobs,项目名称:uwsgi_metrics,代码行数:10,代码来源:metrics.py


示例7: __init__

    def __init__(self, conf):

        super(uWSGIMixin, self).__init__(conf)

        self.lock = multiprocessing.Lock()
        self.cache = uWSGICache

        timedelta = conf.getint("moderation", "purge-after")
        purge = lambda signum: self.db.comments.purge(timedelta)
        uwsgi.register_signal(1, "", purge)
        uwsgi.add_timer(1, timedelta)

        # run purge once
        purge(1)
开发者ID:kod3r,项目名称:isso,代码行数:14,代码来源:core.py


示例8: init_env_and_config

def init_env_and_config(app):
    # default configuration
    app.config.from_pyfile(os.path.realpath("sipa/default_config.py"))
    # if local config file exists, load everything into local space.
    if 'SIPA_CONFIG_FILE' not in os.environ:
        os.environ['SIPA_CONFIG_FILE'] = os.path.realpath("config.py")
    try:
        app.config.from_envvar('SIPA_CONFIG_FILE', silent=True)
    except IOError:
        logger.warning("SIPA_CONFIG_FILE not readable: %s",
                       os.environ['SIPA_CONFIG_FILE'])
    else:
        logger.info("Successfully read config file %s",
                    os.environ['SIPA_CONFIG_FILE'])

    app.config.update({
        name[len("SIPA_"):]: value for name, value in os.environ.items()
        if name.startswith("SIPA_")
    })
    if app.config['FLATPAGES_ROOT'] == "":
        app.config['FLATPAGES_ROOT'] = os.path.join(
            os.path.dirname(os.path.abspath(__file__)),
            '../content')
    if app.config['CONTENT_URL']:
        init_repo(app.config["FLATPAGES_ROOT"], app.config['CONTENT_URL'])
    else:
        if not os.path.isdir(app.config['FLATPAGES_ROOT']):
            os.mkdir(app.config['FLATPAGES_ROOT'])

    if os.getenv("SIPA_UWSGI", "False") == 'True':
        import uwsgi

        def update_uwsgi(signum):
            hasToReload = update_repo(app.config["FLATPAGES_ROOT"])
            if hasToReload:
                uwsgi.reload

        logger.info("Registering repo update to uwsgi_signal")
        uwsgi.register_signal(20, "", update_uwsgi)
        uwsgi.add_timer(20, 300)

    if not app.config['SECRET_KEY']:
        raise ValueError("SECRET_KEY must not be empty")
开发者ID:MarauderXtreme,项目名称:sipa,代码行数:43,代码来源:initialization.py


示例9: start_insert_timer

def start_insert_timer(app):
	global insert_timer_started
	if insert_timer_started:
		return False
	insert_timer_started = True

	interval = app.config["INSERT_INTERVAL"]

	if uwsgi:
		uwsgi.register_signal(131, "workers", insert_timer_tick)
		uwsgi.add_rb_timer(131, interval)
		return True
	else:
		import threading
		def insert_timer_tick_loop():
			while 1:
				sleep(interval)
				insert_timer_tick()

		thread = threading.Thread(target=insert_timer_tick_loop, name="insert timer")
		thread.setDaemon(True)
		thread.start()
		return True
开发者ID:akx,项目名称:mess,代码行数:23,代码来源:timer.py


示例10: init

def init(app):
    def update_commands(signal_id):
        log.debug('Updating commands...')
        from pajbot.models.command import CommandManager
        bot_commands = CommandManager(
                socket_manager=None,
                module_manager=ModuleManager(None).load(),
                bot=None).load(load_examples=True)
        app.bot_commands_list = bot_commands.parse_for_web()

        app.bot_commands_list.sort(key=lambda x: (x.id or -1, x.main_alias))
        del bot_commands

    update_commands(26)
    try:
        import uwsgi
        from uwsgidecorators import thread, timer
        uwsgi.register_signal(26, 'worker', update_commands)
        uwsgi.add_timer(26, 60 * 10)

        @thread
        @timer(5)
        def get_highlight_thumbnails(no_clue_what_this_does):
            from pajbot.web.models.thumbnail import StreamThumbnailWriter
            with DBManager.create_session_scope() as db_session:
                highlights = db_session.query(StreamChunkHighlight).filter_by(thumbnail=None).all()
                if len(highlights) > 0:
                    log.info('Writing {} thumbnails...'.format(len(highlights)))
                    StreamThumbnailWriter(app.bot_config['main']['streamer'], [h.id for h in highlights])
                    log.info('Done!')
                    for highlight in highlights:
                        highlight.thumbnail = True
    except ImportError:
        log.exception('Import error, disregard if debugging.')
        pass
    pass
开发者ID:SanderVDA,项目名称:pajbot,代码行数:36,代码来源:tasks.py


示例11: getattr

    return getattr(logging, request.args.get('level'))

def set_log_level(sig=None):
    'set log level from current request'
    logger = current_app.logger

    if sig is not None and sig != UWSGI_SIG_SET_LOG_LEVEL:
        logger.info('refusing to set log level on signal: %s', sig)
        return

    level = parse_log_level()
    level_name = logging.getLevelName(level)
    msg = 'Setting log level to: %s'

    logger.debug(msg, level_name)
    logger.info(msg, level_name)
    logger.warning(msg, level_name)

    logger.setLevel(level)

try:
    import uwsgi
    uwsgi.register_signal(UWSGI_SIG_SET_LOG_LEVEL, 'workers', set_log_level) 
except ImportError:
    pass


if __name__ == '__main__':
    app = create_app()
    app.run(debug=False)
开发者ID:saml,项目名称:flask_log_level_runtime,代码行数:30,代码来源:app.py


示例12: hello_signal2

    print "i am the signal %d" % num


def hello_signal2(num, payload):
    print "i am the signal %d with payload: %s" % (num, payload)


def hello_file(num, filename):
    print "file %s has been modified !!!" % filename


def hello_timer(num, secs):
    print "%s seconds elapsed" % secs

# uwsgi.register_signal(30, uwsgi.SIGNAL_KIND_WORKER, hello_signal)
uwsgi.register_signal(30, "workers", hello_signal)
uwsgi.register_signal(22, "worker", hello_signal2, "*** PAYLOAD FOO ***")

uwsgi.register_file_monitor(3, "/tmp", "workers", hello_file)
uwsgi.register_timer(26, 2, "worker", hello_timer)
uwsgi.register_timer(17, 4, "worker2", hello_timer)
uwsgi.register_timer(5, 8, "worker3", hello_timer)


def application(env, start_response):

    start_response('200 Ok', [('Content-Type', 'text/html')])

    # this will send a signal to the master that will report it to the first available worker
    uwsgi.signal(30)
    uwsgi.signal(22)
开发者ID:Algy,项目名称:uwsgi,代码行数:31,代码来源:signals.py


示例13: get_wsgi_application

"""
WSGI config for NewRaPo project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/
"""

import os

import uwsgi
from app.blog_lab.proxy.method import get_proxy, check_proxy
from app.blog_lab.proxy.huiyuan import play

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "NewRaPo.settings.produce")

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

uwsgi.register_signal(82, "", get_proxy)
uwsgi.add_cron(82, 0, -1, -1, -1, -1)
uwsgi.register_signal(84, "", check_proxy)
uwsgi.add_cron(84, 30, -1, -1, -1, -1)
uwsgi.register_signal(86, "", play)
uwsgi.add_cron(86, 0, 8, -1, -1, -1)
开发者ID:dongguangming,项目名称:django-angularjs-blog,代码行数:27,代码来源:cron_task.py


示例14: return

                return ("200 OK", {"X-Accel-Redirect": img}, "OK")
            else:
                return ("404 Not Found", {}, "404")

        if pfx == "/c/":
            url = self.get_url(banner_id)
            if url:
                self.clk_cache[banner_id] += 1
                return ("302 OK", {"Location": url}, url)
            else:
                return ("404 Not Found", {}, "404")

    def __call__(self, environ, start_response):
        resp = self.serve(environ["PATH_INFO"])
        if resp:
            resp[1]["Content-Length"] = str(len(resp[2]))
            start_response(resp[0], resp[1].items())
            return resp[2]
        else:
            return self.next_application(environ, start_response)


def commit_banners(x):
    banner_server.commit()

from wsgiref.simple_server import demo_app
application = banner_server = BannerServer(demo_app)

uwsgi.register_signal(42, 'workers', commit_banners)
uwsgi.add_rb_timer(42, 5)
开发者ID:akx,项目名称:banny,代码行数:30,代码来源:banny.py


示例15: register_ipython_console

    def register_ipython_console(self, name):
        trigger = IPYTHON_CONSOLE_TRIGGER % name
        os.close(os.open(trigger, os.O_WRONLY|os.O_CREAT, 0666))

        uwsgi.register_signal(IPYTHON_CONSOLE_SIGNAL, 'mule', activate_ipython_console)
        uwsgi.add_file_monitor(IPYTHON_CONSOLE_SIGNAL, trigger)
开发者ID:omersaeed,项目名称:spire,代码行数:6,代码来源:uwsgi.py


示例16: Application

class Application(object):
	def __init__(self):
		self.i = 0
		print "init!!!", self.i

	def cleanup(self):
		print "cleanup!!!", self.i

	def __call__(self, env, start_response):
		start_response('200 OK', [('Content-Type','text/html')])
		self.i += 1
		sleep = random.random() * 3
		# pprint.pprint(locals())
		print os.getpid(), self.i, sleep

		time.sleep(sleep)
		print os.getpid(), self.i, "x"
		return "Hello World %s" % self.i

application = Application()
uwsgi.atexit = application.cleanup
atexit.register(myExit)
# h = handler()
# handler.old = signal.getsignal(9)
# signal.signal(9, h.handle)

signal._old = signal.getsignal(9)
uwsgi.register_signal(9, "workers", myHandle)
# signal.signal(15, myHandle)
开发者ID:jonsource,项目名称:zks-cluster,代码行数:29,代码来源:uwsgitest.py


示例17: server

# this module will update a carbon server (used by the graphite tool: http://graphite.wikidot.com/)
# with requests count made by a Django app (and can track graphite itself as it is a Django app ;)
#
#
 
import os
import uwsgi
import time
from django.core.handlers.wsgi import WSGIHandler
 
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
 
CARBON_SERVER = "127.0.0.1:2003"
 
def update_carbon(signum):
    # connect to the carbon server
    carbon_fd = uwsgi.connect(CARBON_SERVER)
    # send data to the carbon server
    uwsgi.send(carbon_fd, "uwsgi.%s.requests %d %d\n" % (uwsgi.hostname, uwsgi.total_requests(), int(time.time())))
    # close the connection with the carbon server
    uwsgi.close(carbon_fd)
 
# register a new uwsgi signal (signum: 17)
uwsgi.register_signal(17, '', update_carbon)
 
# attach a timer of 10 seconds to signal 17
uwsgi.add_timer(17, 10)
 
# the Django app
application = WSGIHandler()
开发者ID:DACN,项目名称:infra,代码行数:30,代码来源:graphite_uwsgi.py


示例18: reload

import os
import uwsgi
from CronOrder.ele import *
from CronOrder.ordermig import *
from CronOrder.method import *
from ProxyWork.method import *
import sys
reload(sys)
sys.setdefaultencoding('utf8')

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "SeaSite.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

uwsgi.register_signal(80, "", resetToken)
uwsgi.add_timer(80, 1800)
uwsgi.register_signal(82, "", getproxy)
uwsgi.add_cron(82, 0, 10, -1, -1, -1)
uwsgi.register_signal(84, "", getproxy)
uwsgi.add_cron(84, 0, 15, -1, -1, -1)
uwsgi.register_signal(86, "", checkproxy)
uwsgi.add_cron(86, 0, 9, -1, -1, -1)
uwsgi.register_signal(88, "", checkproxy)
uwsgi.add_cron(88, 0, 16, -1, -1, -1)
uwsgi.register_signal(90, "", migrateorder)
uwsgi.add_cron(90, 0, 0, -1, -1, -1)
开发者ID:bluedazzle,项目名称:Alinone,代码行数:27,代码来源:suwsgi.py


示例19: __call__

 def __call__(self, f):
     uwsgi.register_signal(self.num, self.target, f)
     return f
开发者ID:NewAmericanPublicArt,项目名称:color-commons,代码行数:3,代码来源:uwsgidecorators.py


示例20: start_uwsgi_timer

def start_uwsgi_timer(freq, type_, callable_):
    import uwsgi
    uwsgi.register_signal(66, type_, callable_)
    uwsgi.add_timer(66, freq)
开发者ID:awesome-python,项目名称:webrecorder,代码行数:4,代码来源:app.py



注:本文中的uwsgi.register_signal函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python uwsgi.reload函数代码示例发布时间:2022-05-26
下一篇:
Python uwsgi.mule_id函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap