NCron - не вижу работу

Я хочу иметь возможность запускать функцию, которая удаляет из моей базы данных каждую минуту. Я бы использовал работу SQL, но у меня есть только ресурс SQL Server 2008 Express. Поэтому я использую работу ncron (с которой у меня слишком много опыта).

Мой код:

namespace ConsoleApplication2_ncron
{
    class Program
    {
        static void Main(string[] args)
        {
            Bootstrap.Init(args, ServiceSetup);
        }

        static void ServiceSetup(SchedulingService service)
        {
            //service.Hourly().Run<doStuff>();

            service.At("* * * * *").Run<ConsoleApplication2_ncron.doStuff>();
        }
    }
}

И мой doStuff.cs файл

namespace ConsoleApplication2_ncron
{
    class doStuff : NCron.CronJob
    {
        public override void Execute()
        {
            SqlConnection conn = new SqlConnection();
            conn = new SqlConnection(ConfigurationManager.AppSettings["strConnectionString"].ToString());

            conn.Open();

            SqlCommand command = conn.CreateCommand();
            command.CommandText = "res_delete_old_records";
            command.CommandType = CommandType.StoredProcedure;

            command.ExecuteNonQuery();
            // close the connection
            conn.Close();

            throw new NotImplementedException();
        }
    }
}

Тем не менее, когда я выполняю следующее в командной строке (чтобы проверить, прежде чем я положил на сервер):

consoleApplication2_ncron exec doStuff

Я получаю следующее:

Нет работы зарегистрировано с именем "doStuff"

1 ответ

Для того, чтобы иметь возможность выполнить работу, используя ncron.exe exec jobName Синтаксис команды, вам нужно будет зарегистрировать имя для задания во время инициализации:

service.At("* * * * *").Run<JobType>().Named("jobName");
Другие вопросы по тегам