Comments (2)
@szampier thanks for reporting this and sorry for taking so long to respond, but I was on leave.
After trying it out I can also see the same behavior. I was able to at least duplicate the problem with the following:
- Start the server data checker disabled (for simplicity) and started with
-autoonline
, I see two processes (main and janitor) - Send
OFFLINE
command, I see only the main process - Send
ONLINE
command, I see the main process plus a defunct one
INIT
is just OFFLINE
+ ONLINE
in one go, so it would be the same.
The problem was that the code starting/ending the background tasks didn't clear the Event
object before starting the background tasks. These events are what we use to coordinate the shutdown of the background tasks when necessary. This is usually when SIGTERM
/SIGINT
is sent to the server, but also during the OFFLINE
command. When shutting down the background tasks we call event.set()
and wait for the background tasks to timely react and finish -- but we never clear the event again, so a new ONLINE
command started the background tasks, all of which immediately finish, hence the defunct process (the server would have collected it when shutting itself down).
I'll put a patch in now for this, it should appear in master in not too long.
from ngas.
Done, a fix for this is now on the master
branch.
from ngas.
Related Issues (20)
- XML response contains invalid link to NgamsStatus DTD HOT 7
- ngamsServer and ngamsDaemon use different PID files HOT 1
- NGAMS python client --server option bug HOT 1
- Checksum calculation mismatch failure on python 3 HOT 3
- Improve path computation fixed in #80
- Deprecated function calls in src/ngamsCore/ngamsLib HOT 4
- ngamsDapiStatus attribute __ioTime: Integer vs. Float HOT 1
- ngamsCore/ngamsLib/logutils.py inconsistent types of local variable HOT 1
- ngamsCore, function isoTime2Secs() mixes Integers and Floats HOT 1
- ngamsUDT/ngamsUDTSender.py not Python3 ready HOT 1
- ngamsUtils/ngamsUtils/ngasUtilsLib.py, function decrypt_access_code() is broken HOT 2
- There is no six.input() function HOT 1
- base64 decoding of DB password is incorrect Python3 code HOT 1
- Insufficient error checks in get_db_parameters() function HOT 2
- more Python3-related changes to ngamsUtils/ngamsUtils/ngasXSyncTool.py HOT 1
- Python3-related fixes to ngamsUtils/ngamsUtils/ngasVerifyCloning.py HOT 1
- Python3-related issues in ngamsUtils/ngamsUtils/ngasCheckFileCopies.py HOT 2
- QUERY/files command does not support UseFileIgnore=false HOT 4
- Backward compatible checksum variant HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ngas.