AsyncIO UtilitiesΒΆ
Guillotina comes with some amazing utilities to make working with AsyncIO a bit easier.
Of those, Guillotina provides functions to run asynchronous functions in a queue or a pool.
For example, sending an email:
from guillotina import configure
from guillotina.utils import execute
async def send_email(to_, from_, subject, body):
pass
@configure.service(name='@myservice', method='GET',
permission='guillotina.AccessContent')
async def my_service(context, request):
execute.in_pool(
send_email, 'foo@bar', 'foo@bar', 'Hello!', 'Some body!').after_request()
return {
'foo': 'bar'
}
This will execute the function send_email
in an asynchronous pool after the request is finished.
The functions execute.in_queue
, execute.in_queue_with_func
, execute.after_commit
and execute.before_commit
are also available.
See the full specification.