///////////////////////////////////////////////////////////////
//
// CDatabaseJobQueueManager::GetQueueFromConnectCommand
//
// Find existing queue or create new one
// Can't fail
//
///////////////////////////////////////////////////////////////
CDatabaseJobQueue* CDatabaseJobQueueManager::GetQueueFromConnectCommand(const SString& strData)
{
    // Extract queue name from options
    std::vector<SString> parts;
    strData.Split("\1", parts);
    SString strQueueName;
    GetOption<CDbOptionsMap>(parts[4], "queue", strQueueName);

    // Find queue with name
    CDatabaseJobQueue* pQueue = MapFindRef(m_QueueNameMap, strQueueName);
    if (!pQueue)
    {
        // Add new queue
        pQueue = NewDatabaseJobQueue();
        MapSet(m_QueueNameMap, strQueueName, pQueue);
    }
    return pQueue;
}
Exemplo n.º 2
0
///////////////////////////////////////////////////////////////
//
// CDatabaseManagerImpl::CDatabaseManagerImpl
//
//
//
///////////////////////////////////////////////////////////////
CDatabaseManagerImpl::CDatabaseManagerImpl ( void )
{
    m_JobQueue = NewDatabaseJobQueue ();
}