def tasks(self, pattern=None, negate=False, state=None, limit=None, reverse=True,
              params=None, success=False, error=True):
        """Filters stored tasks and displays their current statuses.

        Note that, to be able to list the tasks sorted chronologically, celery retrieves
        tasks from the LRU event heap instead of the dict storage, so the total number
        of tasks fetched may be different than the server `max_tasks` setting. For
        instance, the `limit` field refers to max events searched, not max tasks.

        Args:
            Filter args:

            pattern (Optional[str]): a pattern to filter tasks
                ex.: '^dispatch|^email' to filter names starting with that
                      or 'dispatch.*123456' to filter that exact name and number
                      or even '123456' to filter that exact number anywhere.
            negate (bool): if True, finds tasks that do not match criteria
            state (Optional[str]): a celery task state to filter
            limit (int): the maximum number of events to fetch
                if None or 0, fetches all.
            reverse (bool): if True (default), shows the most recent first

            Display args:

            params (Optional[bool]): if True shows args and kwargs in the first and
                last seen states, if False never shows, and if None follows the
                success and error arguments.
                default is None
            success (bool): if True shows successful tasks' results
                default is False
            error (bool): if True shows failed and retried tasks' tracebacks.
                default is True, as you're monitoring to find errors, right?
        """
        request = clearly_pb2.FilterTasksRequest(
            tasks_filter=clearly_pb2.PatternFilter(pattern=pattern or '.',
                                                   negate=negate),
            state_pattern=state or '.', limit=limit, reverse=reverse
        )

        for task in about_time(ClearlyClient._fetched_callback, self._stub.filter_tasks(request)):
            ClearlyClient._display_task(task, params, success, error)
Filters stored tasks and displays their current statuses.

        Note that, to be able to list the tasks sorted chronologically, celery retrieves
        tasks from the LRU event heap instead of the dict storage, so the total number
        of tasks fetched may be different than the server `max_tasks` setting. For
        instance, the `limit` field refers to max events searched, not max tasks.

        Args:
            Filter args:

            pattern (Optional[str]): a pattern to filter tasks
                ex.: '^dispatch|^email' to filter names starting with that
                      or 'dispatch.*123456' to filter that exact name and number
                      or even '123456' to filter that exact number anywhere.
            negate (bool): if True, finds tasks that do not match criteria
            state (Optional[str]): a celery task state to filter
            limit (int): the maximum number of events to fetch
                if None or 0, fetches all.
            reverse (bool): if True (default), shows the most recent first

            Display args:

            params (Optional[bool]): if True shows args and kwargs in the first and
                last seen states, if False never shows, and if None follows the
                success and error arguments.
                default is None
            success (bool): if True shows successful tasks' results
                default is False
            error (bool): if True shows failed and retried tasks' tracebacks.
                default is True, as you're monitoring to find errors, right?