Running background jobs from a web-server environment is a little bit more exotic, although other examples exist (see e.g. NEOS and this effort). For this project we use a Windows IIS web server with PHP.
Architecture |
A background solve process can look like:
- If background processes are already running, stop
- Start a background process as follows:
- While there are waiting jobs
- select a job where status=waiting
- set status=running
- solve model
- store results
- set status=solved
Actually we can have several of those processes if the server is beefy enough to allow for parallel solution of different models. This does not only depends on the number of cores available but also memory considerations play a role. Essentially line 1 becomes:
- If number of background processes ≥ maxnumproc, stop
No comments:
Post a Comment