25 Commits

Author SHA1 Message Date
UbitUmarov
ffb4cd7867 cosmetics 2024-04-24 00:07:26 +01:00
UbitUmarov
c71181ff51 possible multithreading issues 2021-10-12 18:08:49 +01:00
UbitUmarov
6f6c3f9e08 simplify JobEngine a bit 2021-01-12 12:36:54 +00:00
UbitUmarov
567418d7cd start JonEngines without any thread, first job enq will add it 2020-12-17 21:51:25 +00:00
UbitUmarov
f32c0ead05 avoid c# fun things, plus cosmetics 2020-07-14 17:54:58 +01:00
UbitUmarov
6d030e2f2b try to shutup some errors dunring shutdown, due to .net mess 2020-05-02 14:25:57 +01:00
UbitUmarov
ab14241871 mantis 8678: try fix rest console client 2020-05-01 17:49:11 +01:00
UbitUmarov
929fa3efbd dispose of jobengine queue 2020-05-01 15:42:02 +01:00
UbitUmarov
fc224b444a avoid some large unnecessary strings 2018-01-24 10:02:18 +00:00
UbitUmarov
c92ba1cc04 shut up some pesty warnings 2018-01-15 16:23:19 +00:00
UbitUmarov
482ff06e13 make JobEngine be a workitem of mail pool (smartThread), with the option to release thread after a idle time, so is free to do other service elsewhere 2017-06-13 18:50:34 +01:00
UbitUmarov
8d8236cfb2 missing file change.. actually use watchdog threads on assetsconnector and
avoid null refs on JobEngine
2017-05-26 00:34:46 +01:00
Melanie Thielker
b16abc8166 Massive tab and trailing space cleanup 2017-01-05 19:07:37 +00:00
UbitUmarov
59f6353ac1 close a resource on jobengine.close() 2016-11-22 22:29:13 +00:00
UbitUmarov
baf8e762a6 change JobEngine stop code and add a extra check for thread removed on watchdog timeout checks 2015-11-27 13:28:10 +00:00
Melanie Thielker
774ac5e96b If no job engine is started at all, keep checking it's status from
bombing
2015-11-24 21:10:40 +01:00
Justin Clark-Casey (justincc)
686b22da6e On shutdown (job engine stop), don't allow the ObjectDisposedException on BlockingCollection.Take() to propogate if the running thread checked IsRunning before the stop thread set it and disposed of the canellation source.
Looks to address http://opensimulator.org/mantis/view.php?id=7453
2015-02-25 20:04:53 +00:00
Justin Clark-Casey (justincc)
6834393821 Fix bug in JobEngine where an attempt to restart after stop would trigger an exception because the cancellation source was not recreated. 2015-02-04 00:10:44 +00:00
Justin Clark-Casey (justincc)
0c31eb0a5d Add the missing deleted and re-added JobEngine class from the previous commit 8e1e8a0 2015-01-12 20:59:58 +00:00
Justin Clark-Casey (justincc)
8e1e8a0920 Make the performance controlling job processing threads introduced in conference code use a generic JobEngine class rather than 4 slightly different copy/pasted versions. 2015-01-12 20:56:37 +00:00
Justin Clark-Casey (justincc)
86367d7219 refactor: Move methods to start a monitored thread, start work in its own thread and run work in the jobengine from Watchdog to a WorkManager class.
This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management.
Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget.
Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
2014-11-25 23:56:32 +00:00
Justin Clark-Casey (justincc)
4b45a1b6ad Change jobengine logging command to "debug jobengine log <int>" rather than loglevel, in common with similar commands. 2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc)
6c043dd6ff If an exception makes it to the top of a JobEngine request, catch and log instead of letting it terminate the simulator... 2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
d3ed5de77d Add loglevel to jobengine that can be controlled via "debug jobengine loglevel <level>".
Defaults to 0
Level 1 currently does verbose logging about every queued and processed job.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
859b1c5ba4 Add experimental job engine to see if queueing some existing async work during root agent entry to a region improves perf rather than always attempting to execute everything concurrently
Job engine is controlled via "debug jobengine start|stop|status".
Can only currently be enabled and disabled dynamically at runtime.
Currently only applies to code sending initial region data (objects, other avatar data) to a client.
2014-11-25 23:18:37 +00:00