|
Регламентные задания. Как правильно использовать? | ☑ | ||
---|---|---|---|---|
0
hobbo
28.03.16
✎
22:26
|
Всем привет!
В порядке тестового примера хочу чтобы каждые 10 секунд в текстовый файл на диске записывалось значение текущего времени. Система 8.3.6. Для этого: - создал новую базу; - добавил модуль типа "Общие модули" с текстом процедуры Процедура ЗаписатьВФайл() Экспорт Текст = Новый ТекстовыйДокумент; Текст.ДобавитьСтроку(ТекущаяДата()); Текст.Записать("c:\temp\file.txt"); КонецПроцедуры - добавил регламентное задание, в котором указал в качестве метода Модуль.ЗаписатьВФайл (выбрал в диалоговом окне); - указал расписание задания: каждый день, каждые 10 секунд; - установил параметр запуска системы AllowExecuteScheduledJobs; Запускаю. Например, запуск отладки в 22:22:28. Жду. Файл c:\temp\file.txt появляется только в 22:23:49 Жду дальше... Файл c:\temp\file.txt обновляется в 22:23:49 Далее в 22:24:49 и так далее... Почему установленное расписание не совпадает с фактическим? |
|||
1
anatoly
28.03.16
✎
22:35
|
я бы смотрел не на время файла, а в консоли заданий - там все правильнее отражается - когда задания срабатывали.
и вообще, лучше "для теста" не в файл писать - а в ЖР. |
|||
2
hobbo
28.03.16
✎
22:46
|
Запустил еще раз. В Журнале Регистраций вижу следующее:
22:38:18 Сеанс. Аутентификация (Тонкий клиент) 22:38:18 Сеанс. Начало (Тонкий клиент) 22:39:39 Сеанс. Начало (Фоновое задание) 22:39:39 Сеанс. Завершение (Фоновое задание) 22:39:39 Сеанс. Начало (Фоновое задание) 22:39:39 Сеанс. Фоновое задание. Запуск (Фоновое задание) 22:39:39 Сеанс. Фоновое задание. Успешное завершение (Фоновое задание) 22:39:39 Сеанс. Завершение (Фоновое задание) 22:40:39 Сеанс. Начало (Фоновое задание) Дальше по кругу... То есть первый запуск фонового задания происходит через 80 секунд после старта. Последующие запуски - через 60 секунд. А как воспользоваться Консолью заданий? Я скачал ее, открыл в конфигураторе... А что дальше? Извините, я третий день вижу 1С... |
|||
3
anatoly
28.03.16
✎
22:55
|
в предприятии ее надо запускать.
база файловая? |
|||
4
hobbo
28.03.16
✎
22:55
|
Забыл сказать...
Если не поставить галку "Предопределенное" в свойствах задания, то оно вроде как совсем не выполняется. |
|||
5
hobbo
28.03.16
✎
22:55
|
Да, база файловая.
|
|||
6
hobbo
28.03.16
✎
22:58
|
Попробовал запустить в предприятии. То же самое, первый запуск через 80 секунд...
|
|||
7
hobbo
28.03.16
✎
23:01
|
Так же попробовал изменить расписание. Вместо "каждый день, каждые 10 секунд" установил "...каждые 20 секунд". Ничего не изменилось. То есть расписание похоже просто не используется.
|
|||
8
anatoly
28.03.16
✎
23:05
|
(5) попробуй на серверной.
регл.задания в файловой это вообще не айс. |
|||
9
Fragster
гуру
28.03.16
✎
23:36
|
(0) в файловой фоновые задания выполняются в один поток, не чаще, чем раз в минуту, не ранее одной минуты после запуска (сейчас в новых не ранее двух)
|
|||
10
Armando
28.03.16
✎
23:50
|
(4) не выполняется потому что его нет. Регламентные задания это типа как справочник. То есть его ещё создать надо, можно несколько раз. Когда ставишь флаг Предопределённое, то оно сразу создаётся.
|
|||
11
hobbo
29.03.16
✎
22:27
|
Действительно, ответ нашелся в ИТС.
Русским по белому в главе 19 руководства разработчика сказано, что особенностью работы регламентных заданий в файловой базе является в том числе фиксированное (60 секунд) расписание выполнения. Так что это не бага, но фича. Небольшим введением в заблуждение программера, наверное, можно считать наличие в файловой базе в интерфейсе конфигуратора кнопки "расписание". Было бы меньше вопросов, если бы этой кнопки не было. |
|||
12
mehfk
29.03.16
✎
22:31
|
(11) Теперь еще прочитай то место, где написано про эту кнопку, чтобы не делать в будущем неверных выводов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |