Mathieu Lirzin <m...@gnu.org> writes: > l...@gnu.org (Ludovic Courtès) writes: > >> What change would you suggest to solve this problem? It would be best >> if Cuirass allowed several jobs building the same derivations (the key >> could be an autoincrement counter instead of the (drv,eval) pair maybe?) > > Seems reasonable to me. I will do that. > Thanks.
After a second thought, I think maybe it is sufficient to just ignore when a derivation is added twice by an evaluation. As a consequence 'cuirass' will only try to realize the derivation once per evaluation.
>From 568d0e1b0866a45e95440d17b6e8f1740cc23e3f Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin <m...@gnu.org> Date: Mon, 9 Jan 2017 01:29:48 +0100 Subject: [PATCH] database: db-add-derivation: Don't try to add a derivation twice. * src/cuirass/database.scm (db-add-derivation): Ignore if JOB is already present in DB. --- src/cuirass/database.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm index 870cdc0..702e643 100644 --- a/src/cuirass/database.scm +++ b/src/cuirass/database.scm @@ -147,7 +147,7 @@ INSERT OR IGNORE INTO Specifications (repo_name, url, load_path, file, \ (define (db-add-derivation db job) "Store a derivation result in database DB and return its ID." (sqlite-exec db "\ -INSERT INTO Derivations (derivation, job_name, evaluation)\ +INSERT OR IGNORE INTO Derivations (derivation, job_name, evaluation)\ VALUES ('~A', '~A', '~A');" (assq-ref job #:derivation) (assq-ref job #:job-name) -- 2.11.0
WDYT? Thanks. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37