def METHOD_NAME(self, fields, columns, options, dryrun=False):
    if dryrun or not options.get(OPT_USE_QUEUE):
        # normal import
        return super().METHOD_NAME(fields, columns, options, dryrun=dryrun)
    # asynchronous import
    try:
        data, import_fields = self._convert_import_data(fields, options)
        # Parse date and float field
        data = self._parse_import_data(data, import_fields, options)
    except ValueError as e:
        return {"messages": [{"type": "error", "message": str(e), "record": False}]}
    # get the translated model name to build
    # a meaningful job description
    search_result = self.env["ir.model"].name_search(self.res_model, operator="=")
    if search_result:
        translated_model_name = search_result[0][1]
    else:
        translated_model_name = self._description
    description = _("Import %(model)s from file %(from_file)s") % {
        "model": translated_model_name,
        "from_file": self.file_name,
    }
    attachment = self._create_csv_attachment(
        import_fields, data, options, self.file_name
    )
    delayed_job = self.with_delay(description=description)._split_file(
        model_name=self.res_model,
        translated_model_name=translated_model_name,
        attachment=attachment,
        options=options,
        file_name=self.file_name,
    )
    self._link_attachment_to_job(delayed_job, attachment)
    return []