Я запускаю конвейер змеиного мата на высокопроизводительном контроллере, использующем slurm. Трубопровод довольно длинный, состоит из ~ 22 ступеней. Периодически змеиный мейк будет вызывать проблему при попытке отправить работу. Это приводит к ошибке
sbatch: error: Batch job submission failed: Socket timed out on send/recv operation
Error submitting jobscript (exit code 1):
Я запускаю конвейер через файл sbatch со следующим вызовом snakemake
snakemake -j 999 -p --cluster-config cluster.json --cluster 'sbatch --account {cluster.account} --job-name {cluster.job-name} --ntasks-per-node {cluster.ntasks-per-node} --cpus-per-task {threads} --mem {cluster.mem} --partition {cluster.partition} --time {cluster.time} --mail-user {cluster.mail-user} --mail-type {cluster.mail-type} --error {cluster.error} --output {cluster.output}'
Это приводит не только к выводу задания snakemake sbatch, но такжедля рабочих мест, которые создает змея. Вышеуказанная ошибка появляется в slurm.out для файла sbatch.
Конкретный шаг задания, указанный в ошибке, будет выполнен успешно и выдаст выходные данные, но конвейер завершится неудачно. Журналы шага задания показывают, что идентификатор задания запущен без проблем. Я погуглил эту ошибку, и она, кажется, часто случается со сленмом, особенно когда планировщик находится под высоким IO, что предполагает, что это будет неизбежным и регулярным явлением. Я надеялся, что кто-то столкнулся с этой проблемой, и мог бы предложить предложения для обхода, чтобы весь конвейер не вышел из строя.