Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Фоновый процесс / 16 сообщений из 16, страница 1 из 1
22.09.2009, 05:42
    #36208915
=Dimon=
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фоновый процесс
У меня есть метод класса, который долго выполняется. Необходимо его запустить в фоновом режиме, чтоб работа пользователя при этом не прерывалась. Как это сделать?
...
Рейтинг: 0 / 0
22.09.2009, 05:59
    #36208920
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фоновый процесс
JOB
...
Рейтинг: 0 / 0
22.09.2009, 08:26
    #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
22.09.2009, 08:45
    #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
22.09.2009, 08:45
    #36208977
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фоновый процесс
=Dimon=не работает!!!!!

В чем выражается "не работа"?
...
Рейтинг: 0 / 0
22.09.2009, 08:49
    #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
22.09.2009, 08:57
    #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
22.09.2009, 09:01
    #36208996
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фоновый процесс
А вот с параметрами не запустилось (зато секунду протупило). Что-то в параметрах не то.
Я не спец в этом, но точно ли они вам нужны?
...
Рейтинг: 0 / 0
22.09.2009, 09:02
    #36208997
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фоновый процесс
Вот это что, например, значит (:0:"tta5:")

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

О все заработало. Всем спасибо!!!! Ошибка в методе была.
...
Рейтинг: 0 / 0
22.09.2009, 12:36
    #36209819
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фоновый процесс
=Dimon= , про параметры расскажи... Мне тоже интересно.
...
Рейтинг: 0 / 0
23.09.2009, 02:07
    #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
23.09.2009, 08:13
    #36211761
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фоновый процесс
=Dimon= , а перевести?
...
Рейтинг: 0 / 0
23.09.2009, 12:12
    #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
23.09.2009, 13:26
    #36212470
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фоновый процесс
=Dimon= , что-то кашу какую-то ты написал...
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Фоновый процесс / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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