Cross Reference: timeout_worker.rb
xref
: /
ontohub
/
lib
/
timeout_worker.rb
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
timeout_worker.rb revision 0ecda7b6d4c088c8a91303bb1c833df2bd26832d
ae2463725fd7908cb1f99f4a9850776737fb2287
vboxsync
class
TimeoutWorker
<
BaseWorker
ae2463725fd7908cb1f99f4a9850776737fb2287
vboxsync
class
Error
< ::
StandardError
;
end
ae2463725fd7908cb1f99f4a9850776737fb2287
vboxsync
class
TimeOutNotSetError
<
Error
;
end
ae2463725fd7908cb1f99f4a9850776737fb2287
vboxsync
ae2463725fd7908cb1f99f4a9850776737fb2287
vboxsync
include
Sidekiq
::
Worker
ae2463725fd7908cb1f99f4a9850776737fb2287
vboxsync
def
perform
(
start_time
,
ontology_version_id
)
if
timeout_reached
?
(
Time.at
(
start_time
)
)
version
=
OntologyVersion.find
(
ontology_version_id
)
version.update
_state
!
(
'failed'
,
"The job reached the timeout limit of #{timeout_limit} hours."
)
end
end
def
timeout_limit
raise
TimeOutNotSetError
unless
Settings.ontology
_parse_timeout
Settings.ontology
_parse_timeout
end
def
timeout_reached
?
(
start_time
)
one_hour
=
3600
timeout_time
=
start_time
+
timeout_limit
*
one_hour
Time.now
>=
timeout_time
end
end