|
не запускаются рег. задания | ☑ | ||
---|---|---|---|---|
0
vde69
14.04.22
✎
13:14
|
програмно создаю рег задание, но оно не запускается автоматом. если я в него захожу и в нем интерактивно нажимаю "сохранить" - то оно само запускается.
куда копнуть? Код: мЗадание = РегламентныеЗадания.СоздатьРегламентноеЗадание("ПроверкаРазделенияПрав"); мЗадание.Использование = Истина; мЗадание.Наименование = "Сессия проверки разделения прав для " + мИмяПользователя; мЗадание.Ключ = мИмяПользователя; мЗадание.ИмяПользователя = мИмяПользователя; мЗадание.Записать(); |
|||
1
Галахад
гуру
14.04.22
✎
13:37
|
Хм. А где рассписание?
|
|||
2
hhhh
14.04.22
✎
13:38
|
(0) вроде расписание должно быть там. Не должно же просто так запускаться?
|
|||
3
vde69
14.04.22
✎
13:41
|
(1) (2) расписание там тянется из метаданных "ПроверкаРазделенияПрав"
в созданном мЗадание расписание заполнено. |
|||
4
vde69
14.04.22
✎
13:44
|
не может влиять факт, что до этого уже было выполнено такое-же задание (с другим идентификатором но с тем-же ключом)?
|
|||
5
vde69
14.04.22
✎
14:00
|
нашел.... не разу не очевидно :)
не хватает 1 строчки мЗадание.РазделениеДанных.Очистить(); |
|||
6
vde69
15.04.22
✎
10:26
|
(5) все равно не работает...
расписание - однократный запуск |
|||
7
rudnitskij
15.04.22
✎
10:36
|
Тут наверное надо отмотать назад и спросить "зачем создавать регламентное задание программно"?
Если вам нужен процесс, который будет выполняться независимо от действий юзера - есть фоновые задания, есть подключаемые обработчики ожидания. А в регламентном задании надо интерактивно указать расписание, иначе не поедет |
|||
8
vde69
15.04.22
✎
10:40
|
(7) нужно для выполнения под правами указаного юзера, другого пути нет.
После отработки рег задание удаляется... тут проблема в том, что иногда работает, а иногда нет. думаю тут дело в том, что где-то есть какой-то кеш новые рег задания считаются уже ранее выполненными. |
|||
9
vde69
15.04.22
✎
10:44
|
может проблема в том, что ключ одинаковый с тем, что было удалено ранее....
|
|||
10
eklmn
гуру
15.04.22
✎
10:51
|
Только администратор может создавать регламентные задания.
|
|||
11
rudnitskij
15.04.22
✎
10:52
|
(8) вам фоновое задание тогда нужно, а не регламентное. А еще проще вызывать процедуру на выполнение с помощью обработчика ожидания...
Стоп. Если процедура выполняется в регламенте один раз, а потом регламент удаляется - может лучше просто вызвать эту процедуру напрямую? |
|||
12
arsik
гуру
15.04.22
✎
10:53
|
(11) Ему нужно что бы задание выполнилось от другого пользователя.
|
|||
13
arsik
гуру
15.04.22
✎
10:57
|
(8) Можно сделать через очередь заданий.
Регистр. В нем очередь заданий с нужным пользователем. Ну и придется создать по регзаданию на тех пользователей, которые будут в этом регистре. Например раз в минуту из очереди читаются задания и выполняются. |
|||
14
rudnitskij
15.04.22
✎
11:03
|
(12) а удалять его (регламент) зачем потом? Чтоб потом создавать новое такое же и упираться в эту же проблему?
|
|||
15
vde69
15.04.22
✎
16:34
|
Короче так и не победил, там какой-то кеш создается на сервере (видимо по метаданным). Так, что идея удалять а потом заново создавать рег задания это плохая идея :)
сделал всю логику на одном рег задании, вышло запутано, но работает. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |