Все исключения обязаны наследоваться от базового.
Перехватить нельзя всего несколько очень специфичных исключений типа OOM
using (MySqlConnection UpgradeConnection = new MySqlConnection(SQLConnect))
{
MySqlCommand updateCommand = UpgradeConnection.CreateCommand();
updateCommand.CommandText = String.Join("", SQL_QUERIES.ToArray());
updateCommand.CommandTimeout = 180;
UpgradeConnection.Open();
updateCommand.ExecuteNonQuery();
}
Thread pPointThread = new Thread(() => pPointsCalculate(InitName, "Week", NextRow));
activeThreads.Add(new threadData
{
id = pPointThread.ManagedThreadId,
InitName = initGrid.Rows[NextRow.Index].Cells[0].Value.ToString(),
thread = pPointThread,
type = "pPointsWeekly"
});
pPointThread.Start();
Два: в стектрейсе пишется ещё тип исключения. Скорее всего тут какой-нибудь ArgumentException
'Timeout can be only be set to 'System.Threading.Timeout.Infinite' or a value > 0.
Parameter name: value'
try
{
updateCommand.ExecuteNonQuery();
}
catch (MySqlException Ext)
{
checkpPointsLog.Invoke((MethodInvoker)delegate
{
UpdateLog(Ext.Message);
});
}
Tarantool можно использовать в сценариях OLTP вместо реляционной базы данных, и в этом случае он будет на порядки быстрее. Вы можете заменить традиционную связку база данных плюс кэш и выиграть от этого в операционных расходах по эксплуатации. Tarantool толерантен к нагрузке на запись ...
continuing = 0.000023
starting = 0.000041
Executing hook on transaction = 0.000005
starting = 0.000006
checking permissions = 0.000005
Opening tables = 0.000035
init = 0.000009
System lock = 0.000006
Waiting for table level lock = 0.040106
System lock = 0.000058
updating = 0.000113
end = 0.000006
query end = 0.000006
closing tables = 0.000016
freeing items = 0.000069
как бы тогда использование памяти будет весьма хреновым
starting 0.000082
Executing hook on transaction 0.000005
starting 0.000008
checking permissions 0.000007
Opening tables 0.000032
init 0.000006
System lock 0.000007
Waiting for table level lock 0.037934
System lock 0.000022
optimizing 0.000013
executing 0.000011
end 0.000004
query end 0.000007
closing tables 0.000011
freeing items 0.000060
cleaning up 0.000015
using (MySqlConnection UpgradeConnection = new MySqlConnection(SQLConnect)) {
MySqlCommand commTOTAL = UpgradeConnection.CreateCommand();
commTOTAL.CommandText = NO_pPOINTS_QUERY; // Тут уже вообще все готово как строка с кучей запросов - просто отправить ...
commTOTAL.CommandTimeout = 120; // Уже докатился до 120 сек ...
UpgradeConnection.Open();
if (commTOTAL.CommandText.Length > 0)
commTOTAL.ExecuteNonQuery();
}
unixtimestamp + float + еще всякие цифры в каждой строке. Именно по float годными оказывается с десяток и более строк, где нужна только первая ... Ну в прицнипе вся суть в работе anywhere. Он возвращает индексы, а мне нужно индекс первого соответствующего условиям.