mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
remove transaction from pending task manager directly
This commit is contained in:
parent
ba9eac57d7
commit
091ce48011
@ -42,6 +42,7 @@ int PendingTasksManager::addTask(Poco::AutoPtr<controller::PendingTask> task)
|
||||
if (task.isNull() || !task->getModel()) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
auto model = task->getModel();
|
||||
Poco::ScopedLock<Poco::Mutex> _lock(mWorkMutex);
|
||||
auto pending_task_list = getTaskListForUser(model->getUserId());
|
||||
@ -235,30 +236,3 @@ Poco::AutoPtr<controller::PendingTask> PendingTasksManager::getPendingTask(int p
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
void PendingTasksManager::reportErrorToCommunityServer(Poco::AutoPtr<controller::PendingTask> task, std::string error, std::string errorDetails)
|
||||
{
|
||||
// TODO: choose user specific server
|
||||
JsonRequest phpServerRequest(ServerConfig::g_php_serverHost, ServerConfig::g_phpServerPort);
|
||||
//Poco::Net::NameValueCollection payload;
|
||||
Poco::JSON::Object payload;
|
||||
|
||||
auto task_model = task->getModel();
|
||||
auto user_model = task->getUser()->getModel();
|
||||
|
||||
payload.set("created", task_model->getCreated());
|
||||
payload.set("id", task_model->getID());
|
||||
payload.set("type", task_model->getTaskTypeString());
|
||||
payload.set("public_key", user_model->getPublicKeyHex());
|
||||
payload.set("error", error);
|
||||
payload.set("errorMessage", errorDetails);
|
||||
|
||||
auto ret = phpServerRequest.request("errorInTransaction", payload);
|
||||
if (ret == JSON_REQUEST_RETURN_ERROR)
|
||||
{
|
||||
auto em = ErrorManager::getInstance();
|
||||
em->addError(new Error("PendingTasksManager::reportErrorToCommunityServer", "php server error"));
|
||||
em->getErrors(&phpServerRequest);
|
||||
em->sendErrorsAsEmail();
|
||||
}
|
||||
}
|
||||
|
||||
@ -50,7 +50,6 @@ public:
|
||||
std::vector<Poco::AutoPtr<controller::PendingTask>> getTransactionsUserMustSign(Poco::AutoPtr<controller::User> user);
|
||||
std::vector<Poco::AutoPtr<controller::PendingTask>> getTransactionSomeoneMustSign(Poco::AutoPtr<controller::User> user);
|
||||
|
||||
void reportErrorToCommunityServer(Poco::AutoPtr<controller::PendingTask> task, std::string error, std::string errorDetails);
|
||||
|
||||
protected:
|
||||
PendingTasksManager();
|
||||
|
||||
@ -358,6 +358,8 @@ namespace model {
|
||||
}
|
||||
//UniLib::controller::TaskPtr transaction_send_task(new SendTransactionTask(Poco::AutoPtr<Transaction>(this, true)));
|
||||
//transaction_send_task->scheduleTask(transaction_send_task);
|
||||
auto pt = PendingTasksManager::getInstance();
|
||||
pt->removeTask(this);
|
||||
return 1 == runSendTransaction();
|
||||
//return true;
|
||||
}
|
||||
@ -507,9 +509,6 @@ namespace model {
|
||||
addError(new ParamError(function_name, "unknown error", TransactionValidationToString(result)));
|
||||
//sendErrorsAsEmail();
|
||||
}
|
||||
|
||||
auto pt = PendingTasksManager::getInstance();
|
||||
pt->reportErrorToCommunityServer(Poco::AutoPtr<Transaction>(this, true), error_name, error_description);
|
||||
addError(new ParamError(function_name, error_name, error_description));
|
||||
}
|
||||
return -1;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user