mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-08-29 02:26:59 +08:00
399d29cec617f7c54e18bb2f7eb475bf264ca928
- Creating the command line has been broken up into several methods associated with 'Tool' - Creation of the command line is now done by DefaultToolAction and stored in the database (thus if the tool config changes between queueing and running of a job things will not break, and if the JobQueue was running on a different machine from the web frontend it would not need knowledge of the tool config) - Broke the old JobQueue up quite a bit. New classes are: jobs.JobQueue: jobs to be run still get added here. It has a single monitor thread that iterates the jobs waiting for one to become runnable, then it tries to dispatch the job jobs.DefaultJobDispatcher: responsible for deciding how to run a job once it is ready to run. Just a trivial implementation for now, as before is PBS is enabled and the tool is not a 'data_source' tool, try to run it using PBS, otherwise run locally jobs.runners.local.LocalJobRunner: the old pool of worker threads that runs jobs processes locally jobs.runners.local.PBSJobRunner: PBS job runner. Only uses a single thread to watch all queued/running jobs. This is TOTALLY UNTESTED. I haven't even imported it. I just tried to break up Nate's code to make a state machine that could be managed with one thread. Need to know more about the PBS setup to test. Next steps: - Clean up locally running jobs when the queue is shut down (kill the jobs and mark the state change appropriately) - For all jobs it should be possible to requeue and jobs in the 'waiting' state on startup - For the PBS queue, it should be possible to recover the state of any jobs that were queued or running on startup. However we might need more data in the database for this
INTRO ===== This program requires python 2.4 or later. To check your python version type: python -V. To start a server you need to do run the server as: python universe.py This will start a server on localhost port 8080. In your browser go to: http://localhost:8080 and you should see the Galaxy environment with some default tools. To customize the tools that are loaded see tool.conf.sample To customize the way your server is ran edit universe.conf *Note* certain tools may require certain libraries to be present. We have included a binary copy of galaxyOps for linux systems. (See run.sh for more details) RUNTIME ENVIRONMENT =================== The default server home will be the directory where the program starts. You can use the UNIVERSE_HOME environment variable to point to a different server home. The path that the UNIVERSE_HOME variable points to must be a directory with the following subdirectories: database database/files database/import tools OPTIMIZED LIBRARIES =================== To allow python to load optimized libraries the path to these must be listed in the python path. See the previous section or run.sh for an example. Loading the optimized Cheetah templating libraries can lead to significant performance gains. At startup you the log message: Optimized Namemapper: True|False will tell you whether the optimized Cheetah template was loaded (or not). The log message: database type: dbhash|.... will tell you what kind of underlying database is the server using. Dbhash stands for the BerkleyDB. The server should work fine with other libraries as well but BerkleyDB is provides the most reliable and efficient storage. TOOL DEVELOPMENT ================ See the wiki pages for more details: http://g2.bx.psu.edu CREATING A RELEASE ================== type: python setup.py sdist
Description
Languages
Python
66.6%
Vue
13%
TypeScript
10.8%
JavaScript
3.8%
Jupyter Notebook
2.8%
Other
2.8%