powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как программно удалить все задачи?
9 сообщений из 9, страница 1 из 1
Как программно удалить все задачи?
    #37632826
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предполагаются 3 варианта:
1. можно конечно переписать все ID и выполнить для них: d ##class(%SYS.Task).%DeleteId(123).
2. используя мне не известный метод не известного класса, существование которых я подтвердить не могу, получить список всех ID задач и выполнить для всех команду из пункта 1.
3. используя мне не известный метод не известного класса, существование которых я подтвердить не могу, для очистки всех задач одним махом.

Ну первый вариант я сделал. Второй наверное невозможно сделать, так как есть задачи выполняющиеся после другой, то есть цепочкой 2-5 звеньев. Поэтому нужно удалить с конца, что вероятно не возможно сделать. А вот последний вариант уж больно красиво представляется. Можно ли - не знаю. Поделитесь мыслью.
...
Рейтинг: 0 / 0
Как программно удалить все задачи?
    #37632891
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Васильевич , я написал в портале запрос

Код: sql
1.
2.
3.
4.
select 
*
from
%SYS.Task



Таки он показал список задач...
...
Рейтинг: 0 / 0
Как программно удалить все задачи?
    #37632899
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
удалить все не системные задачи
Код: sql
1.
DELETE FROM %SYS.Task where type<>0
...
Рейтинг: 0 / 0
Как программно удалить все задачи?
    #37633046
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря даже в ум не приходило как-то sql запросом выбрать или удалить задачи, хотя очень даже нормально их в базе хранить. Просто ближайшее понятие класса для меня это из С++, а тут на тебе его в запросе. Надо посерьезнее освоить эту интересную и специфическую СУБД. Ну да ладно. Я тут у людей скриптиком поживился, подкорректировал, работает, но подозрение на наличие лишнего. И все таки:

s sql="DELETE FROM %SYS.Task"
s o=##class(%ResultSet).%New()
d o.Prepare(sql)
s res=o.Execute(sql)
i res
k o
Q 1
...
Рейтинг: 0 / 0
Как программно удалить все задачи?
    #37633088
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще все задачи наверно нехорошо удалять.

А чем не нравится такой код?
&sql(DELETE FROM %SYS.Task)
...
Рейтинг: 0 / 0
Как программно удалить все задачи?
    #37633116
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ВасильевичЧестно говоря даже в ум не приходило как-то sql запросом выбрать или удалить задачи, хотя очень даже нормально их в базе хранить. Просто ближайшее понятие класса для меня это из С++, а тут на тебе его в запросе. Надо посерьезнее освоить эту интересную и специфическую СУБД. Ну да ладно. Я тут у людей скриптиком поживился, подкорректировал, работает, но подозрение на наличие лишнего. И все таки:

s sql="DELETE FROM %SYS.Task"
s o=##class(%ResultSet).%New()
d o.Prepare(sql)
s res=o.Execute(sql)
i res
k o
Q 1

таким скриптом вы удалите в том числе и системные задачи, а их удалять не желательно, там есть такие задачи которые настроены так сказать на будущее, для запуска по необходимости и те которые всегда выполняются, это переключение журнала, удаление старых журналов, чистка логов менеджера задач
...
Рейтинг: 0 / 0
Как программно удалить все задачи?
    #37634472
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorАндрей ВасильевичЧестно говоря даже в ум не приходило как-то sql запросом выбрать или удалить задачи, хотя очень даже нормально их в базе хранить. Просто ближайшее понятие класса для меня это из С++, а тут на тебе его в запросе. Надо посерьезнее освоить эту интересную и специфическую СУБД. Ну да ладно. Я тут у людей скриптиком поживился, подкорректировал, работает, но подозрение на наличие лишнего. И все таки:

s sql="DELETE FROM %SYS.Task"
s o=##class(%ResultSet).%New()
d o.Prepare(sql)
s res=o.Execute(sql)
i res
k o
Q 1

таким скриптом вы удалите в том числе и системные задачи, а их удалять не желательно, там есть такие задачи которые настроены так сказать на будущее, для запуска по необходимости и те которые всегда выполняются, это переключение журнала, удаление старых журналов, чистка логов менеджера задач

Я понимаю это, просто нужна временная копия базы без журналирования и задач. Там не нужно все, кроме базы. Я вот только, что подумал, что можно и просто приостановить действие задач. Это наверное как-то параметры можно сменить sql запросом?
...
Рейтинг: 0 / 0
Как программно удалить все задачи?
    #37634533
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Васильевич,

расписание задач хранится и настраивается в БД CACHESYS. Классы пользовательских задач могут храниться и в пользовательской БД, но сами по себе они, как правило, не опасны :)
...
Рейтинг: 0 / 0
Как программно удалить все задачи?
    #37634676
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мои задачи очень опасны для конечного результата, поэтому я от них хочу "автоматизированно" и в нужный момент избавиться. Они то каждый раз появляются, так как база берется из бэкапа где эти задачи активны.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как программно удалить все задачи?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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