Принудительное прерывание задачи по тайм-ауту

Обсуждение программ nnCron и nnCron LITE

Принудительное прерывание задачи по тайм-ауту

Postby Raistlin » Wed, 18 Jun 2014, 20:31

Сабж возможен? Допустим, если задача не завершилась в течение минуты, прерывать ее выполнение.
Windows XP SP3 Corp. + MUI, nnCron 1.93.1125.14, nnBackup 3.02b3 Build 147

Magically yours
Raistlin
User avatar
Raistlin
 
Posts: 159
Joined: Wed, 03 Nov 2004, 12:42

Re: Принудительное прерывание задачи по тайм-ауту

Postby AlikasS » Thu, 19 Jun 2014, 01:34

Code: Select all
<%
 USER ~tred_id
 USER ~TEK-TASK-NAME2

WINAPI: OpenThread KERNEL32.DLL
:NONAME
>R
R@ CELL+ @ ~tred_id !
R@ 2 CELLS + @ ASCIIZ> S>ZALLOC ~TEK-TASK-NAME2 !
R@ @
PAUSE
~tred_id @ ?DUP
IF
   0 1 OpenThread ?DUP
   IF
   STOP
   S" Task %QUOTE%%~TEK-TASK-NAME2 @ ASCIIZ>%%QUOTE%, thread %~tred_id @%, was kill, when timer OFF" EVAL-SUBST CRON-LOG
   THEN
THEN
R> FREE THROW
; TASK: ~batcontrol

: KILLWORKTIME ( миллисекунды -- id следящего потока ) { seconds-timer -- }
3 CELLS ALLOCATE THROW >R
seconds-timer R@  !
GetCurrentThreadId  R@ CELL+ !
CUR-TASK-NAME S>ZALLOC R@ 2 CELLS + !
R> ~batcontrol START
;

%>


#( задание_времени_жизни_задачи
NoActive
Action:
10000   KILLWORKTIME
MSG: "ждемс"
 STOP \ остановка следящего потока (не обязательно, сам остановиться, но на стеке лежит число)
)#


KILLWORKTIME нужно на входе время в миллисекундах, сколько отпущено работающей задаче,
на выходе оно оставляет id следящего потока, если id не нужен, его можно сразу DROPнуть (т.е. 10000 KILLWORKTIME DROP)
или нет и потом использовать при необходимости ))
при остановки задачи пишется в стандартный лог (CRON-LOG) сообщение
P.S. не самое простое решение, можно намного проще реализовать
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Принудительное прерывание задачи по тайм-ауту

Postby Raistlin » Tue, 18 Apr 2017, 12:05

Под Win8.1 это решение вызывает падение nnCron.
Windows XP SP3 Corp. + MUI, nnCron 1.93.1125.14, nnBackup 3.02b3 Build 147

Magically yours
Raistlin
User avatar
Raistlin
 
Posts: 159
Joined: Wed, 03 Nov 2004, 12:42


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 1 guest

cron