#0
by lim9
База файловая. На данные момент есть острая необходимость каждую минуту выполнять несколько (10 шт) разных небольших заданий каждую минуту. Сделал через фоновые задания. Но если одно из заданий начинает выпоняться долго (а такое предусмотренно агоритмом) - то остальные задания перестают выполняться и ждут завершения передыдущего. Как сделать чтобы все "фоновые" задания выполнялись каждое через минуту и независисмо от остальных.? Спасибо.
#7
by Fragster
в файловой - никак, все фоновые становятся в очередь. а раньше вообще морозили основное окно
#14
by lim9
Бывает ) - каждое задание выполняет свою функцию: одно отправляет смс, другое синхронизирует почту, другое получает инфу с внешних сервисов, другое выполняет обмен 1С-1С и т.д. вы же не предложите днелать это все одним заданием )
#15
by Torquader
Если вы хотите использовать файловую и в ней делать что-то не очень соотносящееся с базой данных 1С, то лучше писать отдельные приложения, а если вы работаете с базой, то для файловой параллельность натыкается на блокировку таблиц. Понятно, что кто-то верит, что можно использовать управляемые блокировки и снимать их как можно быстрее, но всё равно будет блокироваться вся таблица.
#17
by Torquader
Как бы - для отправки SMS со стороны 1С должны выгружаться в файл готовые сообщения или данные для их формирования - всё остальное должна делать отдельная программа и возвращать в 1С результат. С почтой - тоже самое - в 1С должны грузиться только результаты обработки сообщений. Что касается обмена, то желательно, чтобы, когда он выполняется, никто больше не выполнялся. Так что - вам достаточно одного фонового задания и несколько отдельных программ - если хочется на 1С, то отдельных файловых баз 1С, выполняемых отдельно.
#18
by Кирпич
да я бы не парил 1с вообще с такими заданиями. Внешнее приложение запустил бы, которое инфу на диск скидывало, а в 1С одно задание, которое бы эту инфу подбирало.
#22
by Philix
Есть вариант запускать 1С виндовыми назначенными заданиями и через параметры командной строки рулить исполнение той или иной обработки.
#23
by Кирпич
Слова "многопоточность", "ООП" и "рекурсия" вообще не употребляй. Эти слова употребляют только одинесники со средним образованием из далеких колхозов. Вместо этих слов многозначительно молчи. Так будешь выглядеть профессиональнее.
#25
by Torquader
Конечно, чтобы вместо двух команд с параметрами - целая конфигурация. Понятно, что сегодня пятница - но не до такой же степени.
#26
by Кирпич
ну у него десять заданий. создал конфигурацию с одним модулем и вперед. быстро запускается, быстро работает. чем не вариант?
#27
by Кирпич
+ подключить рабочую конфу через com для обмена и пускай висит, крутит задания. когда надо сливает/получает инфу из рабочей базы. отличный вариант.
#28
by mexanik_96
предлагаю запилить менеджер процессов как в осях сделано(с мьютексами, семафорами и управлением очередью процессов и прочими вещами). стартует главный поток(фз) потом всеми рулит(запускаетостанавливает процедуры в фзобрабатывает сигналы от другихсоздает события)как идея?
#32
by Torquader
Серверная лицензия не позволит разнести процессы на разные компьютеры, а если иметь отдельные конфигурации, которые через Http-сервисы общаются, то вполне можно.
#33
by Кирпич
это всё вместо простого копипаста 20 строчек кода из одной конфигурации в другую? чота многовато.
#35
by mexanik_96
ну не забываем про синхронизацию потоков, нагрузку, планировщик там ну ты понял)))
#36
by Кирпич
Можно еще ботнет сделать. У каждого юзера запустить дополнительно по конфе, которая будет ждать команды от Главного менеджера ботнета и выполнять когда надо какое нибудь задание.
#40
by mexanik_96
да! ботнет на 1с - это круто "рассчитай амортизацию в китае!",уже представляю нейронные сети на 1с, и тд....
#41
by Кирпич
"представляю нейронные сети на 1с" почему то представил жареную баранину. давно я баранины не ел. надо будет вечерком заглянуть в магазин, глянуть чего там из новой зеландии есть на прилавке.
#45
by Кирпич
а зачем SetLength(hThreadArray,i+1) в цикл запихнул? Неодобряю. Требую SetLength(hThreadArray,count) перед циклом.
#47
by Кирпич
А hThreadArray удалять не надо? Щас в Delphi динамические массивы сами удаляются? Или они и раньше сами удалялись. Я чота забыл.
#48
by Лефмихалыч
Не могу в очередной раз не отметить ни кого не еволнующий факт того, на сколько мне омерзителен паскаль. Отвратительный язык. Код, как из говна и палок выглядит и нечитабельно.
#50
by H A D G E H O G s
Не могу в очередной раз не отметить, насколько мне похер мнение недалеких людей.
#53
by H A D G E H O G s
Там десятки мегабайт в потоках кочуют табунами за миллисекунды, какой - то 8 байтный*n реаллок, это мелочи.
#54
by Кирпич
да у вас в школе информатики просто не было. так бы нравилось, если бы с детства приучили.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Параллельное выполнение задач в 1сv8?
- timeout expired при выполнение сложных запросов в SQL через ADO
- Параллельное выполнение нескольких процедур в 1С
- Остановилось выполнение всех регламентных заданий :-(
- УТ 10.3 выполнение регламентных заданий в файловой базе
- Одновременное выполнение нескольких регламентных заданий в файловой ИБ
В этой группе 1С
- Переименовать все файлы и в директории и подпапках по шаблону
- Нужен MS Sans serif от ПТ 8.5 НО!! не FON а TTF
- v7: Документы: ВыбратьПоЗначению
- Печать двух экземпляров на странице с линией разрыва
- v7: ошибка "изменение ТА не выполнено" 1с 7.7
- Переход с РАУЗ на партионный учет
- Формат даты при выгрузке из 1С в SQL
- ЗУП 2.5 в ЗУП 3.1 с "чистого листа"
- Откуда подставляются руководитель и главный бухгалтер в РТУ УТ 11.1?
- Как передать в отбор результат запроса?
- Бесплатная замена No-IP.com (предоставляет статичный IP)
- ЗУП 2.5 В расчетном листке "К выплате" пусто
- СКД передача в параметр списка значений
- Отключение от главного узла РИБ
- 1с Документооборот. Как указать системе номер, с которого начинается нумерация
- v7: произвольное закрытие программы
- Автоматическое обновление базовой бухгалтерии 2.0 перестало работать
- ШТРИХ-М Ошибка 20
- Скидки при возврате товаров (УТ11.3)
- корректировка выручки по расчетам в валюте