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

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

2 голосов
/ 24 февраля 2011

Я хочу иметь возможность запускать функцию, которая удаляет из моей базы данных каждую минуту. Я бы использовал работу 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 Ответ

2 голосов
/ 10 февраля 2012

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

service.At("* * * * *").Run<JobType>().Named("jobName");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...