Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.142.135.86] |
|
Сообщ.
#1
,
|
|
|
Всем привет!
Вопрос - скорее праздное любопытство. У меня уже есть свое решение, но я хотел бы услышать другие решения. Итак. В моей программе есть "подсистема", которая отвечает за периодическую отсылку (раз в месяц) отчетности по SFTP в "дружественную" организацию. Подсистема крутится, вернее будет крутится, в отдельном потоке. Данные о передачах хранятся в БД SQLite3 в виде отдельных записей с полями: // Id - идентификатор записи // Year - год формируемой отчетности // Month - месяц формируемой отчетности // Planned - временной штамп отсылки отчетности // Try - временной штамп последней попытки отсылки отчетности // Count - количество попыток отсылки отчетности // Ready - флаг успешной отсылки отчетности Отсылка отчетности, как правило 5..7 число месяца, следующего за отчетным. Я накидал вот такую функциональную схему в виде обычной блок схемы: Скрытый текст Собственно, вопрос: какими программными конструкциями/подходами вы бы реализовали данный функционал? |
Сообщ.
#2
,
|
|
|
крон+баш либо перл скрипт с проверкой состояний и результатов, если че не так - ляпнуть чё нить на мыло или в телегу.
|
Сообщ.
#3
,
|
|
|
Увы, чисто виндовое решение нужно. Да еще должна возможность выполнять просроченные до некоторого временного предела задания. И увы, автономное - так что это должено быть на С/C++.
|
Сообщ.
#4
,
|
|
|
Цитата JoeUser @ Увы, чисто виндовое решение нужно. Да еще должна возможность выполнять просроченные до некоторого временного предела задания. И увы, автономное - так что это должено Берите планировщик виндоуса тем более там уже есть повторение просроченных задач и PowerShell скрипт. |
Сообщ.
#5
,
|
|
|
Pavia, посмотрел - нееее! Да там есть настройки, да там есть повторения... Ситуация - лег инет, мой отчет не отослался. Мне нужно повторить 3 раза с интервалом в 10 мин, и если и так не прошло - подождать час и попробовать заново. А если не отослался до 7 числа текущего месяца, то перестать пробовать отсылку. Мне эту всю лабуду вручную править в планировщике? Свят-свят.
Поэтому я и прошу решений на С++ в самой программе ... машину состояний, какой-то набор классов, еще ченить, я в этом плане. |
Сообщ.
#6
,
|
|
|
Цитата JoeUser @ Собственно, вопрос: какими программными конструкциями/подходами вы бы реализовали данный функционал? 1) Написал бы программу по алгоритму, зарегил ее в шедулере(планировщике). 2) Написал бы сервис, с функциональностью шедулера, который бы все это выполнял Добавлено Цитата JoeUser @ Поэтому я и прошу решений на С++ в самой программе ... машину состояний, какой-то набор классов, еще ченить, я в этом плане. Почему С/С++ ? Бери PowerShell/Python/.Net Core, я думаю с помощью этих средств такой функционал легко реализуется. За денек реализовать можно вполне. |
Сообщ.
#7
,
|
|
|
Цитата JoeUser @ Возможно ты удивишься, но это всё делается планировщиком. Настраивается один раз и работает потом само. Мне эту всю лабуду вручную править в планировщике? Свят-свят. |
Сообщ.
#8
,
|
|
|
Всем спасибо за участие! Вопрос закрываю.
|