Многопоток при запуске "По сигналу"

  • Автор темы Автор темы alex345
  • Дата начала Дата начала

alex345

Client
Регистрация
04.05.2021
Сообщения
72
Реакции
2
Баллы
8
При запуске проекта "По сигналу", проект запускается 1 раз и далее надо ждать завершения проекта что бы запустился следующий. У меня файл который запускает проект содержит номера профилей, которые нужно исполнить. Естественно я заранее не могу знать сколько попыток нужно делать, но точно минимум 1. Вот как сделать так, что бы планировщик запускал проект, пока этот файл не будет удалён, ну или как минимум, что бы он запускал проект, когда этот файл появляется и так каждый раз. А не ждал, пока завершиться уже начатый. Какой тогда вообще смысл от многопотока с таким планировщиком???
 
При запуске проекта "По сигналу", проект запускается 1 раз и далее надо ждать завершения проекта что бы запустился следующий. У меня файл который запускает проект содержит номера профилей, которые нужно исполнить. Естественно я заранее не могу знать сколько попыток нужно делать, но точно минимум 1. Вот как сделать так, что бы планировщик запускал проект, пока этот файл не будет удалён, ну или как минимум, что бы он запускал проект, когда этот файл появляется и так каждый раз. А не ждал, пока завершиться уже начатый. Какой тогда вообще смысл от многопотока с таким планировщиком???
ну так в самом шаблоне напиши логику по увеличению потоков. ты же разработчик, а значит все можешь сделать так как тебе надо.
 
ну так в самом шаблоне напиши логику по увеличению потоков. ты же разработчик, а значит все можешь сделать так как тебе надо.
Спасибо кэп, ты помог мне в очередной раз! Что бы я без тебя делал! Пожалуйста в следующий раз просто проигнорируй моё сообщение.
 
Спасибо кэп, ты помог мне в очередной раз! Что бы я без тебя делал! Пожалуйста в следующий раз просто проигнорируй моё сообщение.
договорились :az:

83135
 
  • Спасибо
Реакции: Alexmd
Два варианта:
- в планировщике добавляй N попыток выполнения при запуске. В настройках проекта указать, сколько одновременно может выполняться потоков. А в шаблоне на входе проверку, надо выполнять или нет. Тогда из 100 попыток 70 отработает одновременно если надо, и 30 к примеру сразу завершит как излишние.
- можно из кода в шаблоне - на входе делать проверку сколько файлов = сколько добавить попыток выполнения = после такой проверки все нужные потоки запустятся сразу.

А вообще для многопотока лучше использовать базу какую нить, mysql/sqlLite, а не костыли с файлами и локами.
Проект запустился = получил количество актуальных заданий = добавил попыток выполнения своему шаблону = один пошел отрабатывать сам, остальные задания подхватят другие экземпляры.
 
  • Спасибо
Реакции: alex345
Два варианта:
- в планировщике добавляй N попыток выполнения при запуске. В настройках проекта указать, сколько одновременно может выполняться потоков. А в шаблоне на входе проверку, надо выполнять или нет. Тогда из 100 попыток 70 отработает одновременно если надо, и 30 к примеру сразу завершит как излишние.
- можно из кода в шаблоне - на входе делать проверку сколько файлов = сколько добавить попыток выполнения = после такой проверки все нужные потоки запустятся сразу.

А вообще для многопотока лучше использовать базу какую нить, mysql/sqlLite, а не костыли с файлами и локами.
Проект запустился = получил количество актуальных заданий = добавил попыток выполнения своему шаблону = один пошел отрабатывать сам, остальные задания подхватят другие экземпляры.
Благодарю! Хотел без дополнительного кода обойтись, средствами планировщика
 
Можно создать ещё один шаблон, который как раз будет запускаться с помощью планировщика, после запуска считывает количество строк в файле и динамически создаёт bat-файл на запуск основного шаблона с необходимым числом потоков и попыток выполнения, после чего выполняет этот bat-файл.
 
Можно создать ещё один шаблон, который как раз будет запускаться с помощью планировщика, после запуска считывает количество строк в файле и динамически создаёт bat-файл на запуск основного шаблона с необходимым числом потоков и попыток выполнения, после чего выполняет этот bat-файл.
Да я сделал, внутри кода проверяю есть ли строки в файле, сколько их, да тупо количество попыток увеличиваю на количество строк, SetTries(Guid,Int32) Method . Я просто изначально хотел исключительно планировщиком обойтись, просто удивился, почему этого нет, тем более есть галка, что файл удалять не надо
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)