Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
3 / 3 / 1
Регистрация: 13.04.2015
Сообщений: 51
1

Как сделать, чтобы ConsoleApplication сам запускался раз в 5 минут?

12.05.2015, 12:01. Показов 1049. Ответов 8
Метки нет (Все метки)

У меня есть ConsoleApplication

Как сделать так что бы программа после запуска на exe файл
запускала сама себя каждые 5 минут

это прога которая парсит данные из csv файла и импортит их в бд
суть то в том что файлы в папку сыпятся каждую минуту
а я написал этот цикл что бы каждые пять минут он по нему проходил
так как службы я пока писать не умею
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2015, 12:01
Ответы с готовыми решениями:

Как сделать так, чтобы bat-файл запускался только один раз?
Как сделать, чтобы программа(bat файл) запускалась только один раз при включении компьютера, и...

Как сделать так, чтобы bat-файл копировал сам себя в папку N-ное количество раз?
Добрый день! Как сделать так чтобы bat файл копировал сам себя в папку N колличество раз?

Закрытие проводника explorer.exe, чтобы он сам не запускался
Всем привет! Пишу сейчас программу, которая бы закрывала explorer.exe и ставила пароль на систему...

Как сделать чтобы ехе запускался от администратора?
Подскажите, в гугле как всегда ничего не нашёл

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
8
.NET C#,ASP.NET MVC
Эксперт .NET
590 / 501 / 225
Регистрация: 16.10.2010
Сообщений: 1,902
12.05.2015, 12:08 2
В поставленной форме - никак. Либо используйте задачник Windows, либо не закрывайте ваше приложение, а запускайте фоновый поток, который будет выполнять опредленные действия раз в 5 минут.
0
3 / 3 / 1
Регистрация: 13.04.2015
Сообщений: 51
12.05.2015, 12:08  [ТС] 3
Нашел такую схему но что то не пашет

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
 
                // ... do or call something in here ...
 
                System.Threading.Thread.Sleep(TimeSpan.FromMinutes(5));
            }
        }
    }
}
0
.NET C#,ASP.NET MVC
Эксперт .NET
590 / 501 / 225
Регистрация: 16.10.2010
Сообщений: 1,902
12.05.2015, 12:09 4
Форма реализации выше - правильная, но цикл выполняеться пока консольное приложение работает. Если вы его закроете, то цикл вся работа прикращается
0
1354 / 802 / 434
Регистрация: 14.04.2015
Сообщений: 3,038
12.05.2015, 12:27 5
Простите, что?
0
.NET C#,ASP.NET MVC
Эксперт .NET
590 / 501 / 225
Регистрация: 16.10.2010
Сообщений: 1,902
12.05.2015, 12:30 6
Цитата Сообщение от kabudasay Посмотреть сообщение
Нашел такую схему но что то не пашет
Код C#

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
namespace ConsoleApplication1
{
* * class Program
* * {
* * * * static void Main(string[] args)
* * * * {
* * * * * * while (true)
* * * * * * {
// ... do or call something in here ...
System.Threading.Thread.Sleep(TimeSpan.FromMinutes(5));
* * * * * * }
* * * * }
* * }
}
Будет работать пока не нажмете крестик на консоле.
0
3 / 3 / 1
Регистрация: 13.04.2015
Сообщений: 51
12.05.2015, 13:12  [ТС] 7
неа ничего не происходит стартует 1н раз и все

Добавлено через 34 секунды
а не все работает!

Добавлено через 22 минуты
а как сделать что бы консолька висела напостой
C#
1
2
 Console.ReadLine();
 Console.ReadKey();
думаю не прокатит
0
.NET C#,ASP.NET MVC
Эксперт .NET
590 / 501 / 225
Регистрация: 16.10.2010
Сообщений: 1,902
12.05.2015, 13:33 8
Подробнее, что значит "висела на постой". При применении данного цикла она и так не закроется.
Если вам нужно что бы консоль не закрывалась в обычном приложении или после завершения фоновых операций, то

C#
1
2
Console.ReadLine();
Console.ReadKey();
вполне подойдет
0
21 / 21 / 19
Регистрация: 22.03.2013
Сообщений: 115
13.05.2015, 13:43 9
kabudasay, Еще способ - другая программа следит за запуском вашей
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using System.IO;
 
namespace ProcessStarter
{
   class Program
   {
      static void Main(string[] args)
      {
         Console.Write("FilePath: ");
         string filepath = Console.ReadLine();
 
         if (File.Exists(filepath))
         {
            while(Console.KeyAvailable == false)
            {
               Console.WriteLine("New Process Started -> ");
               var s = System.Diagnostics.Process.Start(filepath);
               System.Threading.Thread.Sleep(300000);
               s.Kill();
               Console.Write("Process Killed\n");
            }
            Console.WriteLine("Cycle Stopped\n");
            Console.ReadLine();
         }
         else
         {
            Main(args);
         }
      }
   }
}
C#
1
2
300000 //5 минут, т.к. в миллисекундах
Console.KeyAvailable  //Нажатие любой клавиши в окне ЭТОЙ программы - прекратит любые действия
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2015, 13:43

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как сделать exe, чтобы от запускался на другом компьютере
Как сделать так что бы ехешка откривалась на другом компе без других файлов типа дпр!!! Проста...

Как сделать чтобы babel запускался в командной строке?
Изучаю ноду в атоме по видетуториалу babel index.js -d dist

Как сделать, чтобы скрипт запускался только на одной странице?
Размещаю javascript в файле page.tpl, он работает, но выводится на всех страницах. Нужно, чтобы...

Как сделать чтобы запускался MP3 файл при нажатии кнопки
Как сделать чтобы запускался MP3 файл при нажатии кнопки.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.