Skip to content

Commit

Permalink
Merge branch 'master' into improvements
Browse files Browse the repository at this point in the history
* master:
  mxqd: Kill jobs over memory at most every 60 seconds
  mx_proc: Use pgrp in addition to ppid to group processes
  mxqps: Add new tool to list mxqd processes
  mx_proc: Add process tree related functions
  README: Add development instructions
  MXQ: update credits
  mx_proc: Move process related function from mx_util to mx_proc
  mxqd: set MXQ_HOSTID in main process
  • Loading branch information
mariux committed Oct 24, 2015
2 parents cce9159 + 0bcb2fd commit a288de0
Show file tree
Hide file tree
Showing 12 changed files with 797 additions and 177 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ mx_getopt.o
mx_flock.o
mx_log.o
mx_util.o
mx_proc.o
mxqps.o
mxq_group.o
mxqadmin.o
mxqdump.o
Expand All @@ -21,6 +23,7 @@ mxqadmin
mxqdump
mxqkill
mxqd
mxqps
test_mx_util
test_mx_log
test_mx_mysql
Expand Down
30 changes: 29 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ MXQ_VERSION_MAJOR = 0
MXQ_VERSION_MINOR = 17
MXQ_VERSION_PATCH = 0
MXQ_VERSION_EXTRA = "beta"
MXQ_VERSIONDATE = 2013-2015
MXQ_VERSIONDATE = 2015

MXQ_VERSION_GIT := $(shell git describe --long 2>/dev/null)

Expand Down Expand Up @@ -259,6 +259,10 @@ mx_log.h += mx_log.h

mx_util.h += mx_util.h

### mx_proc.h ----------------------------------------------------------

mx_proc.h += mx_proc.h

### mx_flock.h ---------------------------------------------------------

mx_flock.h += mx_flock.h
Expand Down Expand Up @@ -309,6 +313,12 @@ mx_util.o: $(mx_log.h)

clean: CLEAN += mx_util.o

### mx_proc ------------------------------------------------------------

mx_proc.o: $(mx_proc.h)

clean: CLEAN += mx_proc.o

### mx_flock.o ---------------------------------------------------------

mx_flock.o: $(mx_flock.h)
Expand Down Expand Up @@ -390,6 +400,7 @@ clean: CLEAN += mxq_job.o
mxqd.o: $(mx_getopt.h)
mxqd.o: $(mx_flock.h)
mxqd.o: $(mx_util.h)
mxqd.o: $(mx_proc.h)
mxqd.o: $(mx_log.h)
mxqd.o: $(mxqd.h)
mxqd.o: $(mxq_group.h)
Expand Down Expand Up @@ -422,6 +433,7 @@ clean: CLEAN += mxqsub.o

mxqd: mx_flock.o
mxqd: mx_util.o
mxqd: mx_proc.o
mxqd: mx_log.o
mxqd: mxq_log.o
mxqd: mx_getopt.o
Expand Down Expand Up @@ -500,6 +512,21 @@ clean: CLEAN += mxqkill
install:: mxqkill
$(call quiet-installforuser,$(SUID_MODE),$(UID_CLIENT),$(GID_CLIENT),mxqkill,${DESTDIR}${BINDIR}/mxqkill)

### mxqps -------------------------------------------------------------

mxqps.o: $(mx_proc.h)
mxqps.o: $(mx_util.h)

clean: CLEAN += mxqps.o

mxqps: mx_log.o
mxqps: mx_util.o
mxqps: mx_proc.o

build: mxqps

clean: CLEAN += mxqps

########################################################################

fix: FIX += mxqdctl-hostconfig.sh
Expand Down Expand Up @@ -539,6 +566,7 @@ test_mx_util.o: $(mx_util.h)
clean: CLEAN += test_mx_util.o

test_mx_util: mx_util.o
test_mx_util: mx_proc.o
test_mx_util: mx_log.o
clean: CLEAN += test_mx_util

Expand Down
49 changes: 44 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# mxq
MXQ - mariux64 job scheduling system
# MXQ - mariux64 job scheduling system
- by Marius Tolzmann <marius.tolzmann@molgen.mpg.de> 2013-2015
- and Donald Buczek <buczek@molgen.mpg.de> 2015-2015

## Sources
### Main git repository
Expand All @@ -13,11 +14,49 @@ https://github.com/mariux/mxq
## Installation
### Install using `GNU make`
```
make
make install [DESTDIR=...]
make
make install
```
```
make PREFIX=...
make PREFIX=... [DESTDIR=...] install
```
### Install using `bee`
```
bee init $(bee download git://github.molgen.mpg.de/mariux64/mxq.git) -e
bee init $(bee download git://github.molgen.mpg.de/mariux64/mxq.git) --execute
bee update mxq
```
```
bee init $(bee download git://github.molgen.mpg.de/mariux64/mxq.git) --prefix=... --execute
bee update mxq
```

## Initial setup
Definitions of the tables and triggers for the MySQL database can be found in
[mysql/create_tables.sql](https://github.molgen.mpg.de/mariux64/mxq/blob/master/mysql/create_tables.sql)
Be sure to create those once and check the same
[directory for alter_tables*.sql`](https://github.molgen.mpg.de/mariux64/mxq/blob/master/mysql/)
files when upgrading.


## Development builds
The `devel` target in the Makefile will enable all devolopment features
by defining `MXQ_DEVELOPMENT` when compiling C sources.

```
make clean
make devel PREFIX=/path/to/test
make install PREFIX=/path/to/test
```

### Differences to production builds
Some new features and improvements are enabled in development builds.
Those features may not be tested for every situation yet and may result
in database corruption and/or failing jobs.

#### changed `mxqd` default options
In devolopment builds `--no-log` is default (enable loggin with `--log`)

#### Development database access
Devolopment builds default to use `[mxqdevel]` groups from mysql config files
for servers and clients (instead of the default `[mxqclient]` and `[mxqd]` groups)
Loading

0 comments on commit a288de0

Please sign in to comment.