powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Фоновый процесс
16 сообщений из 16, страница 1 из 1
Фоновый процесс
    #36208915
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть метод класса, который долго выполняется. Необходимо его запустить в фоновом режиме, чтоб работа пользователя при этом не прерывалась. Как это сделать?
...
Рейтинг: 0 / 0
Фоновый процесс
    #36208920
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JOB
...
Рейтинг: 0 / 0
Фоновый процесс
    #36208962
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.,

пытаюсь так:

JOB ##class(MyClass).testMethod(1000):(:0:"tta5:"):0

не работает!!!!!

описание:
ClassMethod testMethod(max As %Integer) As %Status
{
f i=1:1:max{
s ^a(i)=i
}
q $$$OK
}
...
Рейтинг: 0 / 0
Фоновый процесс
    #36208976
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=Dimon=пытаюсь так:

Код: plaintext
JOB ##class(MyClass).testMethod( 1000 ):(: 0 :"tta5:"): 0 


А если так?

Код: plaintext
JOB ##class(MyClass).testMethod( 1000 )

Или вот эдак...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ClassMethod testMethod(max As %Integer) As %Status
{
   f i= 1 : 1 :max{
      s ^a(i)=i
   }
   q:$q $$$OK
   q 
}
...
Рейтинг: 0 / 0
Фоновый процесс
    #36208977
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=Dimon=не работает!!!!!

В чем выражается "не работа"?
...
Рейтинг: 0 / 0
Фоновый процесс
    #36208983
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если не ошибаюсь метод класса нельзя вызвать job'ом, по крайней мере в 5.0.21 у меня не получалось так сделать

_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
Фоновый процесс
    #36208988
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, у меня ваш пример заработал
Правда я без параметров запустил и с полным именем класса
Код: plaintext
job ##class(User.MyClass).testMethod( 10 )

Cache for Windows (x86-32) 2008.2.1 (Build 902) Thu Jan 22 2009 13:50:37 EST
...
Рейтинг: 0 / 0
Фоновый процесс
    #36208996
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот с параметрами не запустилось (зато секунду протупило). Что-то в параметрах не то.
Я не спец в этом, но точно ли они вам нужны?
...
Рейтинг: 0 / 0
Фоновый процесс
    #36208997
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот это что, например, значит (:0:"tta5:")

Извиняюсь за накрутку счетчика сообщений, я не специально.
...
Рейтинг: 0 / 0
Фоновый процесс
    #36209128
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
в том, что в глобале ^a ничего нет!!
...
Рейтинг: 0 / 0
Фоновый процесс
    #36209133
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

О все заработало. Всем спасибо!!!! Ошибка в методе была.
...
Рейтинг: 0 / 0
Фоновый процесс
    #36209819
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=Dimon= , про параметры расскажи... Мне тоже интересно.
...
Рейтинг: 0 / 0
Фоновый процесс
    #36211661
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
параметры из документации взял

routine(routine-params):(process-params):timeout
routine(routine-params)[joblocation]:(process-params):timeout
routine(routine-params)|joblocation|:(process-params):timeout

##class(className).methodName(args):(process-params):timeout
$ZOBJCLASSMETHOD(className,methodName,args):(process-params):timeout

Arguments:
pc
Optional — A postconditional expression.

routine
The routine to be executed by the process created by JOB.

routine-params
Optional — A comma-separated list of parameters to pass to the routine.

className.methodName(args)
The class method to be executed by the process created by JOB. Only class methods can be jobbed.

process-params
Optional — A colon-separated list of positional parameters used to set various elements in the job’s environment.

timeout Optional — The number of seconds to wait for the jobbed process to start. Fractional seconds are truncated to the integer portion. The preceding colon is required. Timeout can only be specified for local jobs.

joblocation Optional — An explicit or implied namespace used to specify the system and directory on which to run a remote job.

И такой пример в доках прилагался:

JOB ##class(MyClass).New():(:0:"tta5:"):10
...
Рейтинг: 0 / 0
Фоновый процесс
    #36211761
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=Dimon= , а перевести?
...
Рейтинг: 0 / 0
Фоновый процесс
    #36212254
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

да что тут переводить :)
параметры процессов вещь не нужная
просто запускаем либо так
JOB routine(routine-params),
либо так
JOB ##class(className).methodName(args)
И все работает.
Правда если захочется задать приоритет у JOB, то придется воспользоваться параметрами процесса через ":":
(nspace:switch:principal-input:principal-output:priority:os-directory:process-name)
область(можно не вводить, по умолчанию текущая):всякие флаги(типа открывать сокет, использовать JOB Server):входное устройство(не использовал не знаю):выходное устройство(не использовал не знаю):приоритет(В Windows Normal priority - 7. OpenVMS от 0 до 15, 4 - Normal priority. В никсах от -20 до 20, где 0 - Normal priority.):директория(не использовал):имя процесса(ограничение в наименовании на 31 символ,не использовал)
...
Рейтинг: 0 / 0
Фоновый процесс
    #36212470
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=Dimon= , что-то кашу какую-то ты написал...
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Фоновый процесс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]