docs: async def take(self, timeout=None):
          """
          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`.
          """
          the_tuple = await self.queue.take(self, timeout=timeout)
  
          if the_tuple.rowcount:
              return Task.create_from_tuple(self, the_tuple)