mirror of
https://github.com/pyrogram/pyrogram
synced 2025-08-29 21:38:04 +00:00
Move idle() and signal_handler() definitions near stop()
This commit is contained in:
parent
7c97efd2a1
commit
dab0a05f16
@ -285,6 +285,28 @@ class Client(Methods, BaseClient):
|
|||||||
self.is_started = False
|
self.is_started = False
|
||||||
self.session.stop()
|
self.session.stop()
|
||||||
|
|
||||||
|
def signal_handler(self, *args):
|
||||||
|
self.is_idle = False
|
||||||
|
|
||||||
|
def idle(self, stop_signals: tuple = (SIGINT, SIGTERM, SIGABRT)):
|
||||||
|
"""Blocks the program execution until one of the signals are received,
|
||||||
|
then gently stop the Client by closing the underlying connection.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
stop_signals (``tuple``, *optional*):
|
||||||
|
Iterable containing signals the signal handler will listen to.
|
||||||
|
Defaults to (SIGINT, SIGTERM, SIGABRT).
|
||||||
|
"""
|
||||||
|
for s in stop_signals:
|
||||||
|
signal(s, self.signal_handler)
|
||||||
|
|
||||||
|
self.is_idle = True
|
||||||
|
|
||||||
|
while self.is_idle:
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
self.stop()
|
||||||
|
|
||||||
def add_handler(self, handler, group: int = 0):
|
def add_handler(self, handler, group: int = 0):
|
||||||
"""Use this method to register an update handler.
|
"""Use this method to register an update handler.
|
||||||
|
|
||||||
@ -790,28 +812,6 @@ class Client(Methods, BaseClient):
|
|||||||
|
|
||||||
log.debug("{} stopped".format(name))
|
log.debug("{} stopped".format(name))
|
||||||
|
|
||||||
def signal_handler(self, *args):
|
|
||||||
self.is_idle = False
|
|
||||||
|
|
||||||
def idle(self, stop_signals: tuple = (SIGINT, SIGTERM, SIGABRT)):
|
|
||||||
"""Blocks the program execution until one of the signals are received,
|
|
||||||
then gently stop the Client by closing the underlying connection.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
stop_signals (``tuple``, *optional*):
|
|
||||||
Iterable containing signals the signal handler will listen to.
|
|
||||||
Defaults to (SIGINT, SIGTERM, SIGABRT).
|
|
||||||
"""
|
|
||||||
for s in stop_signals:
|
|
||||||
signal(s, self.signal_handler)
|
|
||||||
|
|
||||||
self.is_idle = True
|
|
||||||
|
|
||||||
while self.is_idle:
|
|
||||||
time.sleep(1)
|
|
||||||
|
|
||||||
self.stop()
|
|
||||||
|
|
||||||
def send(self, data: Object):
|
def send(self, data: Object):
|
||||||
"""Use this method to send Raw Function queries.
|
"""Use this method to send Raw Function queries.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user