Изменение файла монитора не работает для файла базы данных с помощью systemd

Для ясности я создал решение следующим образом

public static T GetDatabaseServiceFromConfig<T>(string databaseId)
{
    object system = null;

    switch (databaseId)
    {
        case DatabaseIds.<DbName>:
            system = new <DbName>Service(new <DbName>ConfigSettings());
            break;
        // More cases
        default:
            // System not found
            throw new ArgumentOutOfRangeException(databaseId);
        }

    if (!(system is T))
    {
        throw new NotImplementedException("Database type was found and created but does not implement interface: " + typeof(T));
    }

    // Safe cast
    return (T)system;
}

Реализация:

var service = DatabaseServiceFactory.GetDatabaseServiceFromConfig<IProductService>(DatabaseIds.<DbName>);

// object now has access to functions on IProductService
service.CreateProduct(/*Params*/);
1
задан Feriman 19 January 2019 в 20:42
поделиться

2 ответа

Временно решил эту проблему, вставив этот код в crontab:

*/3 * * * * test "`sudo find /var/lib/mysql/mydatabase/onetable.idb -mmin -4`" && /etc/myscript.sh

Это не постоянное решение, потому что я хочу выполнить этот скрипт на основе триггера.

0
ответ дан Feriman 19 January 2019 в 20:42
поделиться

Со страницы man inotify.7:

   The inotify API does not report file accesses and modifications that
   may occur because of mmap(2), msync(2), and munmap(2).

Эти процедуры часто используются в реализациях баз данных.

0
ответ дан Ed Grimm 19 January 2019 в 20:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: