def delete_queue(self, queue_name, fail_not_exist=False, timeout=None):
_validate_not_none('<STR_LIT>', queue_name)<EOL>request = HTTPRequest()<EOL>request.method = '<STR_LIT>'<EOL>request.host_locations = self._get_host_locations()<EOL>request.path = _get_path(queue_name)<EOL>request.query = {'<STR_LIT>': _int_to_str(timeout)}<EOL>if not fail_not_exist:<EOL><INDENT>try:<EOL><INDENT>self._perform_request(request)<EOL>return True<EOL><DEDENT>except AzureHttpError as ex:<EOL><INDENT>_dont_fail_not_exist(ex)<EOL>return False<EOL><DEDENT><DEDENT>else:<EOL><INDENT>self._perform_request(request)<EOL>return True<EOL><DEDENT>
Deletes the specified queue and any messages it contains.

When a queue is successfully deleted, it is immediately marked for deletion 
and is no longer accessible to clients. The queue is later removed from 
the Queue service during garbage collection.

Note that deleting a queue is likely to take at least 40 seconds to complete. 
If an operation is attempted against the queue while it was being deleted, 
an :class:`AzureConflictHttpError` will be thrown.

:param str queue_name:
    The name of the queue to delete.
:param bool fail_not_exist:
    Specifies whether to throw an exception if the queue doesn't exist.
:param int timeout:
    The server timeout, expressed in seconds.
:return:
    A boolean indicating whether the queue was deleted. If fail_not_exist 
    was set to True, this will throw instead of returning false.
:rtype: bool