async def take(self, timeout=None):
the_tuple = await self.queue.take(self, timeout=timeout)<EOL>if the_tuple.rowcount:<EOL><INDENT>return Task.create_from_tuple(self, the_tuple)<EOL><DEDENT>
Get a task from queue for execution.

Waits `timeout` seconds until a READY task appears in the queue.

Returns either a `Task` object or `None`.