Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Создание задачи выполняющейся по расписанию / 14 сообщений из 14, страница 1 из 1
04.07.2008, 04:08
    #35410461
=Dimon=
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Необходимо, чтоб некая программа на сервере выполнялась по расписанию. Как это сделать?
...
Рейтинг: 0 / 0
04.07.2008, 05:52
    #35410477
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Может быть можно прикрутить встроенный планировщик, или писать свой.

Если писать свой, то делаете программу, которая запускается при старте системы в фоновом режиме и время от времени опрашивает таблицу расписания.
...
Рейтинг: 0 / 0
04.07.2008, 08:17
    #35410541
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Наши клиенты используют какой-то сторонний планировщик. Он запускает bat-файл в котором происходит старт терминала и в нем запуск той или иной нашей программки...

А что кащейским планировщиком никто не пользуется?
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
04.07.2008, 08:57
    #35410594
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
=Dimon=Необходимо, чтоб некая программа на сервере выполнялась по расписанию. Как это сделать?
Это можно сделать двумя способами:
1) визуально, используя "Мастер планировщика задач" в SMP ([Домашняя страница] > [Менеджер задач]);
2) программно, используя класс %SYSTEM.Task (подробности в документации).

Пример task.mac:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
	new x
	s x=##Class(%SYSTEM.Task).%New()
	s x.Name="Наименование задания"
	s x.NameSpace="ОБЛАСТЬ"
	s x.RescheduleOnStart= 1 
	s x.DailyFrequency= 0 	;один раз в день
	s x.DailyStartTime=$ZTIMEH("09:30:00")
	s x.ExecuteCode="d BACK^task"
        s x.ContinueAfterError= 1 
        s x.Description="Описание задания"
  
	d x.%Save()
	q
BACK
        ;полезная работа
	q	  

PS: в версии Caché 5.0.21 класс %SYSTEM.Task точно есть.
...
Рейтинг: 0 / 0
08.07.2008, 15:26
    #35417933
Создание задачи выполняющейся по расписанию
Сейчас структура уже другая - %SYS.Task используется для хранения, собственно, расписания, и через SMP мы работаем именно с его экземплярами, а наследники %SYS.Task.Definition - собственно, как контейнеры кода вашего задания. Соответственно, при конфигурировании задания через System Management Portal, классы-наследники %SYS.Task.Definition выбираются из выпадающего списка.

Cтарые классы %SYSTEM.Task и пр. - сохранены для обратной совместимости.
---------
http://writeimagejournal.com - InterSystems Russia Technology Blog.
...
Рейтинг: 0 / 0
09.07.2008, 05:52
    #35419105
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Каше 5.2 - я в упор не вижу, где там в портале управления создать новую задачу.

Запланировать из списка заданных - пожалуйста:
[Домашняя страница] > [Конфигурация] > [Настройки менеджера задач] > [Планировщик задач]

А где создать свою задачу?
...
Рейтинг: 0 / 0
09.07.2008, 06:48
    #35419120
Socratdv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Блок А.Н.Каше 5.2 - я в упор не вижу, где там в портале управления создать новую задачу.

Запланировать из списка заданных - пожалуйста:
[Домашняя страница] > [Конфигурация] > [Настройки менеджера задач] > [Планировщик задач]

А где создать свою задачу?

Как создать свою задачу выше описал тов. servit . Для этого надо использовать %SYS.Task.
...
Рейтинг: 0 / 0
09.07.2008, 08:06
    #35419156
=Dimon=
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
2Блок А.Н.
В 5.2 из портала задача не создается.
Программно создавать можно способом как указал servit, а можно так:
Для начала создаете класс, наследник от %SYS.Task.Definition.
Переопределяете параметр TaskName и метод OnTask().
Затем:
s x=##Class(%SYSTEM.Task).%New()
s x.Name="Наименование задания"
s x.NameSpace="ОБЛАСТЬ"
s x.RescheduleOnStart=1
s x.DailyFrequency=0
s x.DailyStartTime=$ZTIMEH("09:30:00")
s x.Description="Описание задания"
s x.TaskClass = "ВАШ_КЛАСС"
d x.%Save()
...
Рейтинг: 0 / 0
09.07.2008, 08:33
    #35419187
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Плохо. Идеология планировщика нецелостная, половину можно сделать в портале, половину из терминала или программировать. С таким успехом же можно написать свой.
...
Рейтинг: 0 / 0
09.07.2008, 09:02
    #35419225
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Блок А.Н.Каше 5.2 - я в упор не вижу, где там в портале управления создать новую задачу.
[Home] > [Configuration] > [Task Manager Settings] > [Task Schedule] , далее выбрать Schedule New Task .
В поле "Task type" выбираете нужный Вам тип задачи, например, "RunLegacyType". У каждого типа свой набор вводимых параметров.
...
Рейтинг: 0 / 0
09.07.2008, 09:17
    #35419244
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Понял, молчу :-)
...
Рейтинг: 0 / 0
09.07.2008, 09:18
    #35419246
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Спасибо :-)
...
Рейтинг: 0 / 0
09.07.2008, 15:06
    #35420616
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Блок А.Н.Идеология планировщика нецелостнаяОна, скорее, не вполне продуманная, попросту говоря, почти 1 в 1 скопированная с планировщиков Windows/UNIX. Вот, например, вроде бы полезная функция - отправка e-mail по успеху/неуспеху. Но это лишь успех в том смысле, что задачу удалось запустить. Нет возможности отправки аналогичного сообщения о результате выполнения задачи, а он весьма полезен для таких задач, когда результат неочевиден, например, проверка целостности БД. Естественно, можно создать новый тип задачи и предусмотреть в классе соотвествующий функционал (как, например, сделала сама ИнтерСистемз в новой - с 2008.1 - задаче "ОтчетДиагностики"), но почему бы не унифицировать это?
...
Рейтинг: 0 / 0
09.07.2008, 19:11
    #35421590
Rus000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание задачи выполняющейся по расписанию
Alexey MaslovВот, например, вроде бы полезная функция - отправка e-mail по успеху/неуспеху. Но это лишь успех в том смысле, что задачу удалось запустить. Нет возможности отправки аналогичного сообщения о результате выполнения задачи, а он весьма полезен для таких задач, когда результат неочевиден, например, проверка целостности БД. Естественно, можно создать новый тип задачи и предусмотреть в классе соотвествующий функционал (как, например, сделала сама ИнтерСистемз в новой - с 2008.1 - задаче "ОтчетДиагностики"), но почему бы не унифицировать это?

+100
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Создание задачи выполняющейся по расписанию / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]