Вы запустили потоковое выполнение поэтому ваша функция kernel будет запускаться numThreads*sizeGroup раз, причем, как вы заметили, одновременно на одну группу может быть выделено более одного ядра поэтому вы и имеете race condition. Пользуйтесь LoadKernel вместо LoadStreamKernel
В http заголовке можно передавать символы только в ascii кодировке, а вы пытаетесь передать всякие utf8, win1251, utf16. Вот вам метод для кодирования значений передаваемых в параметрах запроса https://learn.microsoft.com/ru-ru/dotnet/api/syste...
Вам же прямо в ошибке написали что не могут найти файл с кредами для гугл апи. Установите переменную окружения GOOGLE_APPLICATION_CREDENTIALS со значением указывающим на этот файл
Если сделать его обязательным для всех методов то это пртведёт к увеличению времени запуска и увелтчению потребляемой памяти т.к. jit компилятору придется компилировать код в наиболее эффективный, а это временные затраты. Также коду придеётся вызвать все статические конструкторы, даже если они не будут использованы.
Jit компиляцию можно избежать если публиковать сборку в режиме readytorun, но тогда мы получим бинарник только под одну конкретную платформу
Выгрузи проект из стцдии чере проводник решения и редактируй файл проекта. В ридере можно редактировать без выгрузки проекта но после правок иногда нужно перезагрузить проект.
Если тебе сейчас не понятны все эти оптимизации, то просто забей на них и пиши оптимальный код
Тема констант и статических полей в плюсах весьма сложна и требует внимательности т.к. можно отстрелить себе все ноги и руки за одно. Вот для примера можете почитать https://isocpp.org/wiki/faq/ctors#static-init-order
В вашем случае в качестве литеральных констант можно использовать const char* или string_view для более сложных сценариев требующих выполнения некоторой работы (обьединение строк или перевода числа в строку) нужно использовать статические функции которые будут выполнять эту работу (в сылке которую я вам дал есть пример такой инициализации)
AlexVWill, логика есть в том чтобы не передавать пароль в открытом виде. Например когда сервис реализует свой механизм авторизации и есть основания не доверять своей инфраструктуре. Это необходимо по причине того что пользователи часто используют один и тот же пароль для разных сервисов.
Pantuchi, вы так и не показали полный текст запросов. Всё что я вижу это dbo.getDatetimeValue и вызов метода _Delete. Что бы понять причину проблемы нужно знать на какие блокировки на какие строки накладываются в вашей БД (схема с индексами тоже помогает в определении причин взаимных блокиовок)
Для полного понимания того что у вас блокирутся нужно написать выбранный вами уровень изоляции транзакции, итоговый текст запроса на удаление (первая команда) и текст запроса который зависает
Василий Банников, "стоит задача по СБОРУ и обработке данных" вот я и даю рекомендации по сбору которые помогут весьма не плохо уменьшить сложность разработки
Василий Банников, я имел в виду обычный лог который пишет nginx на диск. Который может считывать и укладывать в бд какое нибудь стороннее решение (https://github.com/mintance/nginx-clickhouse). Кафка тут будет не столь эффективна и стабильна как простая запись в файл
Если приложение нужно для анализа поступающих данных, то просто пишите все входящие запорсы тем же nginx в лог, а потом читайте его и анализируйте (складывайте в БД)
Сколько не встречал флуент реализаций везде исполбзуется второй подход, т.к. при первом любое использование методов родительского интерфейса приведёт к потере возвращаемого типа