

**Description**

We are using a 3rd party executor which has the ability to use multiple queues, however the `default_queue` is defined under the `celery` heading and is used regardless of the executor that you are using.

See: https://github.com/apache/airflow/blob/2.0.1/airflow/models/baseoperator.py#L366

It would be nice to decouple the default_queue configuration argument away from the celery section to allow other executors to utilise this functionality with less confusion.

**Are you willing to submit a PR?**

Yep! Will open a pull request shortly


**Related Issues**

Not that I'm aware of.

airflow/configuration.py
"""Runs command and returns stdout"""
    process = subprocess.Popen(
        shlex.split(command), stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True
    )
    output, stderr = [stream.decode(sys.getdefaultencoding(), 'ignore') for stream in process.communicate()]
    if process.returncode != 0:
        raise AirflowConfigException(
            f"Cannot execute {command}. Error code is: {process.returncode}. "
            f"Output: {output}, Stderr: {stderr}"
        )
    return output
def _get_config_value_from_secret_backend(config_key):
    """Get Config option values from Secret Backend"""
    secrets_client = get_custom_secret_backend()
    if not secrets_client:
        return None
    return secrets_client.get_config(config_key)
def _default_config_file_path(file_name: str):
    templates_dir = os.path.join(os.path.dirname(__file__), 'config_templates')
    return os.path.join(templates_dir, file_name)
def default_config_yaml() -> dict:
    """
    Read Airflow configs from YAML file
    :return: Python dictionary containing configs & their info
    """
    import airflow.utils.yaml as yaml
    with open(_default_config_file_path('config.yml')) as config_file:
        return yaml.safe_load(config_file)
class AirflowConfigParser(ConfigParser):