本文整理汇总了Python中twisted.internet.task.react方法的典型用法代码示例。如果您正苦于以下问题:Python task.react方法的具体用法?Python task.react怎么用?Python task.react使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类twisted.internet.task
的用法示例。
在下文中一共展示了task.react方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_runsUntilAsyncCallback
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_runsUntilAsyncCallback(self):
"""
L{task.react} runs the reactor until the L{Deferred} returned by the
function it is passed is called back, then stops it.
"""
timePassed = []
def main(reactor):
finished = defer.Deferred()
reactor.callLater(1, timePassed.append, True)
reactor.callLater(2, finished.callback, None)
return finished
r = _FakeReactor()
exitError = self.assertRaises(
SystemExit, task.react, main, _reactor=r)
self.assertEqual(0, exitError.code)
self.assertEqual(timePassed, [True])
self.assertEqual(r.seconds(), 2)
示例2: test_runsUntilAsyncErrback
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_runsUntilAsyncErrback(self):
"""
L{task.react} runs the reactor until the L{defer.Deferred} returned by
the function it is passed is errbacked, then it stops the reactor and
reports the error.
"""
class ExpectedException(Exception):
pass
def main(reactor):
finished = defer.Deferred()
reactor.callLater(1, finished.errback, ExpectedException())
return finished
r = _FakeReactor()
exitError = self.assertRaises(
SystemExit, task.react, main, _reactor=r)
self.assertEqual(1, exitError.code)
errors = self.flushLoggedErrors(ExpectedException)
self.assertEqual(len(errors), 1)
示例3: test_runsUntilSyncErrback
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_runsUntilSyncErrback(self):
"""
L{task.react} returns quickly if the L{defer.Deferred} returned by the
function it is passed has already been errbacked at the time it is
returned.
"""
class ExpectedException(Exception):
pass
def main(reactor):
return defer.fail(ExpectedException())
r = _FakeReactor()
exitError = self.assertRaises(
SystemExit, task.react, main, _reactor=r)
self.assertEqual(1, exitError.code)
self.assertEqual(r.seconds(), 0)
errors = self.flushLoggedErrors(ExpectedException)
self.assertEqual(len(errors), 1)
示例4: test_singleStopCallback
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_singleStopCallback(self):
"""
L{task.react} doesn't try to stop the reactor if the L{defer.Deferred}
the function it is passed is called back after the reactor has already
been stopped.
"""
def main(reactor):
reactor.callLater(1, reactor.stop)
finished = defer.Deferred()
reactor.addSystemEventTrigger(
'during', 'shutdown', finished.callback, None)
return finished
r = _FakeReactor()
exitError = self.assertRaises(
SystemExit, task.react, main, _reactor=r)
self.assertEqual(r.seconds(), 1)
self.assertEqual(0, exitError.code)
示例5: test_synchronousStop
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_synchronousStop(self):
"""
L{task.react} handles when the reactor is stopped just before the
returned L{Deferred} fires.
"""
def main(reactor):
d = defer.Deferred()
def stop():
reactor.stop()
d.callback(None)
reactor.callWhenRunning(stop)
return d
r = _FakeReactor()
exitError = self.assertRaises(
SystemExit, task.react, main, [], _reactor=r)
self.assertEqual(0, exitError.code)
示例6: main
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def main():
parser = argparse.ArgumentParser(
description="""Test connectivity for the plugins which support connectivity tests."""
)
parser.add_argument('--log-file', dest='logfile', default='connectivity.log')
parser.add_argument('--debug', dest="debug", action="store_true", default=False)
parser.add_argument('--namespaces', dest='namespaces', type=str, nargs='+',
default=DEFAULT_NAMESPACES,
help='Namespaces for plugins to test.')
parser.add_argument('--plugins', dest='plugin_names', type=str, nargs='+',
default=None,
help='Names of plugins to test.')
config = stethoscope.api.factory.get_config()
args = parser.parse_args()
config['LOGBOOK'] = stethoscope.utils.setup_logbook(args.logfile)
config['LOGBOOK'].push_application()
config['DEBUG'] = args.debug
config['TESTING'] = args.debug
task.react(_main, (args, config))
示例7: handle
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def handle(self, *args, **options):
for site in Website.objects.filter(is_deep_crawl=True):
site.last_crawled_at = datetime.datetime.utcnow().replace(tzinfo=pytz.utc)
site.save()
task.react(main, [str(site.url)]) # Can pass a list of urls
示例8: test_runsUntilSyncCallback
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_runsUntilSyncCallback(self):
"""
L{task.react} returns quickly if the L{Deferred} returned by the
function it is passed has already been called back at the time it is
returned.
"""
def main(reactor):
return defer.succeed(None)
r = _FakeReactor()
exitError = self.assertRaises(
SystemExit, task.react, main, _reactor=r)
self.assertEqual(0, exitError.code)
self.assertEqual(r.seconds(), 0)
示例9: test_arguments
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_arguments(self):
"""
L{task.react} passes the elements of the list it is passed as
positional arguments to the function it is passed.
"""
args = []
def main(reactor, x, y, z):
args.extend((x, y, z))
return defer.succeed(None)
r = _FakeReactor()
exitError = self.assertRaises(
SystemExit, task.react, main, [1, 2, 3], _reactor=r)
self.assertEqual(0, exitError.code)
self.assertEqual(args, [1, 2, 3])
示例10: test_defaultReactor
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_defaultReactor(self):
"""
L{twisted.internet.reactor} is used if no reactor argument is passed to
L{task.react}.
"""
def main(reactor):
self.passedReactor = reactor
return defer.succeed(None)
reactor = _FakeReactor()
with NoReactor():
installReactor(reactor)
exitError = self.assertRaises(SystemExit, task.react, main, [])
self.assertEqual(0, exitError.code)
self.assertIs(reactor, self.passedReactor)
示例11: test_exitWithDefinedCode
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_exitWithDefinedCode(self):
"""
L{task.react} forwards the exit code specified by the C{SystemExit}
error returned by the passed function, if any.
"""
def main(reactor):
return defer.fail(SystemExit(23))
r = _FakeReactor()
exitError = self.assertRaises(
SystemExit, task.react, main, [], _reactor=r)
self.assertEqual(23, exitError.code)
示例12: test_asynchronousStop
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_asynchronousStop(self):
"""
L{task.react} handles when the reactor is stopped and the
returned L{Deferred} doesn't fire.
"""
def main(reactor):
reactor.callLater(1, reactor.stop)
return defer.Deferred()
r = _FakeReactor()
exitError = self.assertRaises(
SystemExit, task.react, main, [], _reactor=r)
self.assertEqual(0, exitError.code)
示例13: main
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def main(self):
"""Parse arguments and run the script's main function via ``react``."""
# If e.g. --version is called this may throw a SystemExit, so we
# always do this first before any side-effecty code is run:
options = self._parse_options(self.sys_module.argv[1:])
if self.logging:
log_writer = eliot_logging_service(
options.eliot_destination, self._reactor, True
)
else:
log_writer = Service()
log_writer.startService()
# XXX: We shouldn't be using this private _reactor API. See
# https://twistedmatrix.com/trac/ticket/6200 and
# https://twistedmatrix.com/trac/ticket/7527
def run_and_log(reactor):
d = maybeDeferred(self.script.main, reactor, options)
def got_error(failure):
if failure.check(UsageError):
err(failure.value.args)
raise SystemExit(1)
elif not failure.check(SystemExit):
err(failure)
return failure
d.addErrback(got_error)
return d
try:
self._react(run_and_log, [], _reactor=self._reactor)
finally:
log_writer.stopService()
示例14: main_for_service
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def main_for_service(reactor, service):
"""
Start a service and integrate its shutdown with reactor shutdown.
This is useful for hooking driving an ``IService`` provider with
``twisted.internet.task.react``. For example::
from twisted.internet.task import react
from yourapp import YourService
react(_main_for_service, [YourService()])
:param IReactorCore reactor: The reactor the run lifetime of which to tie
to the given service. When the reactor is shutdown, the service will
be shutdown.
:param IService service: The service to tie to the run lifetime of the
given reactor. It will be started immediately and made to stop when
the reactor stops.
:return: A ``Deferred`` which fires after the service has finished
stopping.
"""
service.startService()
stop = Deferred()
reactor.addSystemEventTrigger(
"before", "shutdown", _chain_stop_result, service, stop)
return stop
示例15: test_react
# 需要导入模块: from twisted.internet import task [as 别名]
# 或者: from twisted.internet.task import react [as 别名]
def test_react(self):
"""
`FlockerScriptRunner._react` is ``task.react`` by default
"""
self.assertIs(
task.react,
FlockerScriptRunner(script=None, options=None)._react
)