def worker(f):
@functools.wraps(f)<EOL>async def wrapper(cls, connection, rest):<EOL><INDENT>try:<EOL><INDENT>await f(cls, connection, rest)<EOL><DEDENT>except asyncio.CancelledError:<EOL><INDENT>connection.response("<STR_LIT>", "<STR_LIT>")<EOL>connection.response("<STR_LIT>", "<STR_LIT>")<EOL><DEDENT><DEDENT>return wrapper<EOL>
Decorator. Abortable worker. If wrapped task will be cancelled by
dispatcher, decorator will send ftp codes of successful interrupt.

::

    >>> @worker
    ... async def worker(self, connection, rest):
    ...     ...