You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
670 B
30 lines
670 B
#!/usr/bin/env python3
|
|
"""This plugin is used to check that async method calls are working correctly.
|
|
|
|
The plugin registers a method `callme` with an argument. All calls are
|
|
stashed away, and are only resolved on the fifth invocation. All calls
|
|
will then return the argument of the fifth call.
|
|
|
|
"""
|
|
from lightning import Plugin
|
|
|
|
plugin = Plugin()
|
|
|
|
|
|
@plugin.init()
|
|
def init(configuration, options, plugin):
|
|
plugin.requests = []
|
|
|
|
|
|
@plugin.async_method('asyncqueue')
|
|
def async_queue(request, plugin):
|
|
plugin.requests.append(request)
|
|
|
|
|
|
@plugin.method('asyncflush')
|
|
def async_flush(res, plugin):
|
|
for r in plugin.requests:
|
|
r.set_result(res)
|
|
|
|
|
|
plugin.run()
|
|
|