forum.bitel.ru
http://forum.bitel.ru/

Периодические процессы
http://forum.bitel.ru/viewtopic.php?f=49&t=9565
Страница 1 из 1

Автор:  Dog [ 12 авг 2014, 19:10 ]
Заголовок сообщения:  Периодические процессы

как делать сабж? через шедулер и дин класс? или есть какие то встроенные функции?
если по первому варианту, то какой класс создаёт процесс. нашел только ru.bgcrm.dao.process.ProcessDAO и его updateProcess(Process)

Автор:  Администратор [ 13 авг 2014, 11:47 ]
Заголовок сообщения:  Re: Периодические процессы

Первый вариант. Нужно создать динамический класс, имплементирующий java.lang.Runnable и настроить его запуск в планировщике.
http://www.bgcrm.ru/doc/3.0/doc/ch01s03s04.html

Автор:  Dog [ 13 авг 2014, 14:46 ]
Заголовок сообщения:  Re: Периодические процессы

это понятно. а сам процесс создания.
хочется сделать так:
1. создается процесс определенного типа, в котором указываются параметры периодического процесса.
2. по шедулеру запускается Runnable и ищет такие процессы. Читает параметры и создает новые задачи.
и вот вопрос в том, как их создать?
есть какой то метод? или через БД?

Автор:  Администратор [ 13 авг 2014, 15:46 ]
Заголовок сообщения:  Re: Периодические процессы

Создание процессов проще через ProcessAction#processCreate( DynActionForm form, Connection con, Process process ) либо через ProcessDAO.
В первом случае сгенерируются все положенные события, во втором - просто добавится запись в базу.
Быстрее, если события не обрабатываются.

Автор:  Dog [ 13 авг 2014, 18:18 ]
Заголовок сообщения:  Re: Периодические процессы

Код:
ProcessDAO pdao = new ProcessDAO(con);
ru.bgcrm.model.process.Process newProcess = new ru.bgcrm.model.process.Process();
               newProcess.setTypeId(periodicProcTypeId);
               newProcess.setTitle(newProcessTitle);
               newProcess.setProcessGroups(newProcessGroups);
               newProcess.setCreateTime(c.getTime());
               newProcess.setCreateUserId(1);
               newProcess.setStatusId(1);
               newProcess.setStatusUserId(1);
               newProcess.setDescription("Автоматически созданная задача периодическая задача");
               pdao.updateProcess(newProcess);

так должно быть? почему то не создаётся процесс.

Автор:  Администратор [ 14 авг 2014, 11:01 ]
Заголовок сообщения:  Re: Периодические процессы

Вы это делате в периодической задаче?
Возможно, что вы соединение к БД не коммитите.
Можно код в контексте?

Автор:  Dog [ 14 авг 2014, 14:05 ]
Заголовок сообщения:  Re: Периодические процессы

спасибо за мысль. именно коммита и не хватало. все работает.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/