6f949e90b1ba3de976455fbcf9da21897761d134 markd Fri Oct 29 16:11:58 2021 -0700 add timeout option to pipeline to allow kill long-running pipelines, especially ones run from CGIs diff --git src/hg/cgilib/gtexBoxplot.c src/hg/cgilib/gtexBoxplot.c index 3813f93..145d16e 100644 --- src/hg/cgilib/gtexBoxplot.c +++ src/hg/cgilib/gtexBoxplot.c @@ -126,31 +126,31 @@ chopSuffixAt(tsv->description, '('); for (i=0; i<count; i++) fprintf(f, "%d\t%s\t%0.3f\n", sampleId++, tsv->description, tsv->vals[i]); } fclose(f); // Plot to PNG file if (!pngTn) return FALSE; trashDirFile(pngTn, "hgc", "gtexGene", ".png"); /* Exec R in quiet mode, without reading/saving environment or workspace */ char *pipeCmd[] = {"Rscript","--vanilla","--slave","hgcData/gtexBoxplot.R", geneName, dfTn.forCgi, pngTn->forHtml, doLogTransform ? "log=TRUE" : "log=FALSE", "order=alpha", version, NULL}; -struct pipeline *pl = pipelineOpen1(pipeCmd, pipelineWrite | pipelineNoAbort, "/dev/null", NULL); +struct pipeline *pl = pipelineOpen1(pipeCmd, pipelineWrite | pipelineNoAbort, "/dev/null", NULL, 0); int ret = pipelineWait(pl); //NOTE: use "order=score" to order bargraph by median RPKM, descending if (ret == 0) return TRUE; return FALSE; } boolean gtexGeneBoxplot(char *geneId, char *geneName, char *version, boolean doLogTransform, struct tempName *pngTn) /* Create a png temp file with boxplot of GTEx expression values for this gene. * GeneId is the Ensembl gene ID. GeneName is the HUGO name, used for graph title; * If NULL, label with the Ensembl gene ID */ { struct tissueSampleVals *tsvs;