Conversation
|
@afgane do you also have the rights to upload a new version to pypi? |
|
ping @bebatut |
|
@bgruening I think I only have rights to upload to pypi currently - if you get the HISTORY.rst file in shape I'll create a new version. |
|
@jmchilton I added it here: 980a274 |
The HISTORY.rst version should remain with .dev0 - the deployment scripts automate removing that. Also bumping the version since there are some new features and scripts.
|
Thanks @bgruening - I tweaked that a bit. When this gets merged I will release this. |
| gi = GalaxyInstance(url=url, email=args.user, password=args.password) | ||
|
|
||
| # should test valid connection | ||
| log.info("List of valid histories: %s" % gi.histories.get_histories()) |
There was a problem hiding this comment.
Maybe gi.users.get_current_user() is a little more useful here?
| for data_table in dm.get('data_table_reload', []): | ||
| # reload two times | ||
| for i in range(2): | ||
| gi.make_get_request(urlparse.urljoin(url, 'api/tool_data/%s/reload' % data_table)) |
There was a problem hiding this comment.
This is only going to work if either an external message queue is running, or galaxy is running in run.sh mode.
Our current standard setup can't send the reload task from uwsgi to the job handlers.
So if you for example add a new genome with a genome data manager, and then try to create a bowtie2 index for that genome there is a good chance this will fail because the handler doesn't know about the new genome.
I have added automatic reloading of changed data tables (without an explicit API call) in galaxyproject/galaxy#3533, but right now we still need to have watchdog installed for this to work (we should make a wheel for that).
There was a problem hiding this comment.
Maybe I was lucky but this worked for me several time in the Galaxy-Docker setup and the external message queue is not properly configured.
We could add a note to the script that watchdog needs to be installed? Would this be ok?
|
Apart from my 2 comments (the second one is definitely not blocking a merge) this looks good, thanks @bgruening. |
afgane
left a comment
There was a problem hiding this comment.
Looks good; just a couple of minor inline comments.
Thanks!
| description='Running Galaxy data managers in a defined order with defined parameters.') | ||
| parser.add_argument("-v", "--verbose", help="Increase output verbosity.", | ||
| action="store_true") | ||
| parser.add_argument("--config", required=True, help="Path the YAML config file.") |
There was a problem hiding this comment.
This should probably be a bit more explicit to say [Required] Path to the YAML config file with the list of data managers and data to install. There's also a missing to in the current help text.
Sorry to be a stickler on documentation but if a new person comes along and wants to use this, the docs is the first thing they'll see and based on that make a decision if something is usable or not.
There was a problem hiding this comment.
Sure, I added your sentence. It was required before so I left that as it is. argparse will give indication that this parameter is required.
| for data_table in dm.get('data_table_reload', []): | ||
| # reload two times | ||
| for i in range(2): | ||
| gi.make_get_request(urlparse.urljoin(url, 'api/tool_data/%s/reload' % data_table)) |
There was a problem hiding this comment.
This is not going to work with the current imports. Need to just import urlparse vs. from urlparse import urlparse.
There was a problem hiding this comment.
You mean the python2 case? Let me test this and fix it.
There was a problem hiding this comment.
Hmm, actually, it's not going to work on py3 either because urljoin is not a module within urllib.parse.urlparse. It may be best to import urljoin directly for both py2 & 3 and then change this line to just use it:
try:
from urllib.parse import urljoin
except ImportError:
from urlparse import urljoin
|
Thanks for all the edits @bgruening. |
|
Version 0.5.0 of ephemeris has been published - https://pypi.python.org/pypi/ephemeris. |
|
@jmchilton thanks - unfortunately I think we need #32 as well :( |
This scripts let you define some data managers with different
itemsand parameters to populate Galaxy instances like Galaxy flavors.