cgpipe
huey
cgpipe | huey | |
---|---|---|
1 | 10 | |
3 | 4,927 | |
- | - | |
5.2 | 6.2 | |
4 months ago | 6 days ago | |
Java | Python | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cgpipe
-
Nextflow: Data-Driven Computational Pipelines
I do too.. and have similar opinions. I wrote my own tool years back for pipelines because it was always frustrating (started roughly around the same time as Nextflow).
Allowing for files to be marked as transient (temp) and re-running from arbitrary time points are definitely one of the things I support... as is conditional logic within the pipeline for job definition and resource usage. For me though, one of the biggest things is that I like having composable pipelines, so each part of the larger workflow can be developed independently. They can interact with each other (DAG) and use existing dependencies, but they don't have to exist in the same document/script. I work on large WGS datasets, so 1000's of jobs per patient isn't uncommon.
Happy to talk more if you're interested.
https://github.com/compgen-io/cgpipe
(And yes, you can dry run the entire thing. It will write out a bash script if you want to see exactly what is going to run without submitting jobs.)
huey
-
Nextflow: Data-Driven Computational Pipelines
I've considered using Nextflow for bioinformatics pipelines but have yet to take the plunge. At work, I develop a proteomics pipeline that is composed of huey¹ tasks (Python library; simple alternative to Celery) which either use subprocess to call out to some external tool, or are just pure python. It runs in a worker container which is created by docker swarm, and all containers pull jobs from redis. For our scale, it works great. However, I don't have control over the resource utilization of individual steps, and in the past I've had issues with the pipeline blocking as a result of how I was chaining tasks together. I think something like Nextflow would remove these limitations, but one thing I think I would miss is the ability to debug individual pipeline steps locally with an interactive debugger. As far as I can tell, Nextflow has logging/tracing facilities but nothing quite like an interactive debugger. I'd be happy to be told I'm wrong, or even that I'm doing it wrong.
____
¹ https://github.com/coleifer/huey/
-
Background jobs with Django
Other options are DjangoQ and Huey, which tend to work ok. Of the two I prefer DjangoQ. Database backed, don't require the Redis/Celery rigmarole.
-
What's the best thing you've learned about Django this year?
Funny, just this moment i finally switched from Celery to huey. And so far I don't regret. huey looks very promising, has good documentation and is well integrated into DJango. You should give it a try: https://github.com/coleifer/huey
-
This Week in Python
huey – a little task queue for python
-
What is your favourite task queuing framework?
Huey -> Same again?
-
5 background scheduling libraries in Python you must know
Huey: https://github.com/coleifer/huey
- Celery in production: Three more years of fixing bugs
-
Not sure if I should use celery or asyncio
I just want to add that a couple celery alternatives worth looking at include huey and dramatiq.
-
What is the best option for a (Python 3) task queue on Windows now that Celery 4 has dropped Windows support?
huey
-
Django 4.0 released
same, I ran into an issue cos of django-background-tasks. I am thinking to replace it with huey
What are some alternatives?
nextflow - A DSL for data-driven computational pipelines
celery - Distributed Task Queue (development branch)
redun - Yet another redundant workflow engine
rq - Simple job queues for Python
common-workflow-
dramatiq - A fast and reliable background task processing library for Python 3.
common-workflow-language - Repository for the CWL standards. Use https://cwl.discourse.group/ for support 😊
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins
Kedro - Kedro is a toolbox for production-ready data science. It uses software engineering best practices to help you create data engineering and data science pipelines that are reproducible, maintainable, and modular.
mrq - Mr. Queue - A distributed worker task queue in Python using Redis & gevent
KQ - Kafka-based Job Queue for Python
django-background-tasks - A database-backed work queue for Django