diff --git a/src/edge/views.py b/src/edge/views.py index b0fcbf88..a505ceb6 100644 --- a/src/edge/views.py +++ b/src/edge/views.py @@ -19,6 +19,8 @@ from edge import import_gff from edge.tasks import build_genome_blastdb, build_genome_fragment_indices +IS_RO_SERVER = os.getenv("RO_SERVER", False) == "True" + def genome_export(request, genome_id): get_genome_or_404(genome_id) @@ -584,6 +586,10 @@ def on_post(self, request, genome_id): from edge.blastdb import check_and_build_genome_db genome = get_genome_or_404(genome_id) + + if IS_RO_SERVER and (not genome.has_location_index or not genome.blastdb): + return [], 409 # 409 is "Conflict" - caller is expected to retry request on RW server + check_and_build_genome_db(genome) # always require a 'create' argument