<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_rows(server_context, schema_name, query_name, rows, container_path=None, timeout=_default_timeout):
 """ Update a set of rows :param server_context: A LabKey server context. See utils.create_server_context. :param schema_name: schema of table :param query_name: table name to update :param rows: Set of rows to update :param container_path: labkey container path if not already set in context :param timeout: timeout of request in seconds (defaults to 30s) :return: """

    url = server_context.build_url('query', 'updateRows.api', container_path=container_path)

    payload = {
        'schemaName': schema_name,
        'queryName': query_name,
        'rows': rows
    }

    return server_context.make_request(url, json_dumps(payload, sort_keys=True), headers=_query_headers,
                                       timeout=timeout)