Имя: Пароль:
1C
1С v8
Расписание Регламентных заданий
0 Конфигуратор1с
 
29.10.13
20:55
В общем есть набор баз, в которых необходимо по определенным расписаниям выполнять определенные действия. Базы с запретом изменений, поэтому регламентные задания добавлять в каждую базу нет возможности, да и дублировать код не хочется. Решил Сделать отдельную базу в которой справочник регламентных заданий, одно регламентное задание обходит справочник и стартует все "регламентные задания".  Вот собственно, вопрос, как реализовать старт регламентных заданий? то есть как часто основное регламентное задание должно стартовать? Раз в минуту не слишком будет сервак тормозить?
1 Конфигуратор1с
 
29.10.13
23:17
есть кто на мисте?
2 grayshadow
 
30.10.13
00:02
где-то мне встречалось описание, как сделать РЗ из внешней обработки... а то, что вы тут задумали, имхо, кпц как сложно:)
3 Конфигуратор1с
 
30.10.13
00:07
(2) что именно сложно? в справочнике забубенить расписание как в регламентных заданиях. И регламентное задание делает запрос по актуальным элементам справочника и выполняет код. Вот только мне непонятно с какой частотой его запускать что бы базки не положить
4 grayshadow
 
30.10.13
00:08
а как из "регламентной" базы будете в другие заходить? комобъектами?
5 grayshadow
 
30.10.13
00:09
а с какой частотой запускать - зависит что вы собираетесь там делать и сколько оно займет времени:)
6 etc
 
30.10.13
00:15
(0) Лучше на каждый вид обработки свое регламентное задание. Каждое будет со своим расписанием.
7 Конфигуратор1с
 
30.10.13
00:22
(4) ну куда комобъектами где просто запустить базку с обработкой, которая все и выполнить
8 Конфигуратор1с
 
30.10.13
00:24
(5) так запускать не сами процедуры а с какой частотой запускать запускалку)
9 Конфигуратор1с
 
30.10.13
00:26
(6) так в том и вопрос что у меня допустим есть несколько однотипных регламентных заданий но выполняемых в разное время для разных баз, Хотелось с помощью справочника это и разрулить .
10 grayshadow
 
30.10.13
00:47
(7) интересно увидеть кусок кода РЗ, который будет запускать другую базу. Если не ком/оле, то что? wscript.shell с длиннющей строкой запуска 1с? а как потом будете убивать сеанс?

как бы там ни было... насколько я знаю, пока старое РЗ работает, новое не должно запускаться, так что пофиг на время выполнения:)

а вот будут ли тормозить базы - зависит от способа запуска и еще много чего, имхо проще тупо потестировать  разные интервалы...
11 Конфигуратор1с
 
30.10.13
00:51
(10) та просто через командную строку )
12 grayshadow
 
30.10.13
00:56
по сути вызвав аналог wscript.shell, ога?:)
проблема в том, как вы оттуда вернете что-либо... а пока не вернете, "регламентная" база не поймет, завершилось ли задание...
13 Конфигуратор1с
 
30.10.13
01:04
(12) а зачем? мне только выполнить процедуру и все)
14 Конфигуратор1с
 
30.10.13
01:04
(12) "по сути вызвав аналог wscript.shell, ога?:) "практически только будет родной 1совский "скрипт")
15 grayshadow
 
30.10.13
01:14
еще раз, я верно поняла?
есть база "регламентная", нетиповая, в ней созданы нетиповые РЗ.
есть другие типовые базы, в которых эти РЗ должны что-то сделать

ок, рассмотрим работу РЗ. Пусть в 00:01 оно стартануло, сечас 01:01 и ему снова пора стартовать. Как оно поймет, завершился ли предыдущий экземпляр? ибо не будут одновременно выполняться 2 РЗ с одинаковым ключом и именем метода

если не надо ждать завершения, а просто "запустить и всё" - не парьтесь, напишите батники и засуньте в планировщик винды (или что у вас на сервере?)
16 Конфигуратор1с
 
30.10.13
01:19
(15) ну там где надо проверить завершение будет не батник а ком соединение)
(Кстати. спасибо за идею - надо будет механизм в справочнике докрутить проверки завершения) )
да батники не подходятибо непрозрачно и не управляемо. В идеале, в дальнейшем система должна работать без программиста и регулироваться пользователями. Но это так - дальние планы)
17 grayshadow
 
30.10.13
01:25
ну так сразу и надо подключаться через ком, нахрен тогда сдался WSH:)

но тогда возникает еще одна веселуха: должна быть куча РЗ - отдельное на каждую базу и каждую задачу - и каждое со своим ком-объектом... По итогу в одной базе будут шариться сразу несколько ком-объектов, а это может быть хреново по производительности...
18 grayshadow
 
30.10.13
01:26
а самое веселое, если они одновременно захотят провести один и тот же документ:)))
19 Конфигуратор1с
 
30.10.13
01:29
(17) (18) ну вот это уже задача их правильно по времени разнести) тут проблем не должно возникнуть.
20 grayshadow
 
30.10.13
01:31
а если они разносятся по времени, то теряет смысл изначальный вопрос" "как часто запускать запускалку":)
21 Конфигуратор1с
 
30.10.13
01:32
(20) а можно как то проверить что РЗ еще не завершилось?
22 grayshadow
 
30.10.13
01:34
посмотрите в УТ11 обработку Регламентные и фоновые задания, она как-то это понимает:)
23 grayshadow
 
30.10.13
01:36
вот так:
ТекущиеЗадания = РегламентныеЗадания.ПолучитьРегламентныеЗадания();
24 Конфигуратор1с
 
30.10.13
02:31
(22) спс)
Программист всегда исправляет последнюю ошибку.