[{"data":1,"prerenderedAt":314},["ShallowReactive",2],{"project-15681066":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":41,"post_text":42,"what":43,"said":91,"maker_in_thread":199,"shape":209,"grid":214,"attempts":274,"same_week":275,"maker_shows":305,"maker_hidden":306,"reader_version":307,"card":308},"15681066","Dramatiq","An alternative to Celery","title","Show HN: Dramatiq – An alternative to Celery","https:\u002F\u002Fdramatiq.io","dramatiq.io","Bogdanp",1510498906,2017,53,31,767,2242,35,"notable","languages","task queue library","library",[24,25,26,27,28],"python task queue","celery alternative","background jobs","rabbitmq","redis","mixed",-0.217,{"positive":32,"neutral":33,"mixed":34,"critical":33},2,5,0,12,{"pricing":37,"idea":39},{"positive":34,"critical":38},3,{"positive":40,"critical":40},1,[40,34,38,34,40,34,40,38,40,34,34,34,34,34,40,34,33,34,34,34,34,34,34,33,38,34,34,38,34,38,34],null,{"problem":44,"audience":54,"pricing":63,"motivation":70,"time_to_build":42,"stack":74,"openness":88,"stage":89,"team_size":90},{"value":45,"source":46,"evidence":47},"Running background tasks in Python with a simpler alternative to Celery","maker",[48,51],{"id":49,"by":11,"text":50},"15682984","> I started that way with Celery and Django, maybe 6 years ago. At one point we found a bug with Celery not resolving 'chord' callbacks when all the parallel tasks had completed.…",{"id":52,"by":11,"text":53},"15682802","> Nice touch on having prometheus metric support builtin Thanks! > How does this compare to rq? Having this one the website somewhere obvious and why you wrote it would be a…",{"value":55,"source":56,"evidence":57},"Python developers needing background task processing","inferred",[58,62],{"id":59,"by":60,"text":61},"15682801","adambrenecki","> Dramatiq is licensed under the AGPL and it officially supports Python 3.6 and later. Commercial Licensing is also available. Oh. > I’ve done a ton of open source work over the…",{"id":52,"by":11,"text":53},{"value":64,"source":46,"evidence":65},"Free under AGPL; commercial licenses available, free for early-stage companies",[66,67],{"id":59,"by":60,"text":61},{"id":68,"by":11,"text":69},"15682814","Yep, that's understandable. If someone makes a cost-benefit analysis and decides that they prefer the cheaper option then that's perfectly fine with me, I'll still be here a year…",{"value":71,"source":46,"evidence":72},"Get companies to contribute back; not to get rich",[73],{"id":68,"by":11,"text":69},[75,80,84],{"value":76,"source":77,"evidence":78},"Python","commenter",[79],{"id":59,"by":60,"text":61},{"value":81,"source":46,"evidence":82},"RabbitMQ",[83],{"id":52,"by":11,"text":53},{"value":85,"source":46,"evidence":86},"Redis",[87],{"id":52,"by":11,"text":53},"open_source","launched","unknown",{"praise":92,"objections":104,"requests":135,"questions":153,"alternatives":176},[93,97],{"value":94,"source":77,"evidence":95},"Simple, easy-to-understand core compared to Celery",[96],{"id":49,"by":11,"text":50},{"value":98,"source":77,"evidence":99},"Maintainer is responsive to contributions",[100],{"id":101,"by":102,"text":103},"15683245","whalesalad","I’ve submitted code to this project and just want to state here for the record that Bogdan is very responsive and accepting of contributions. It was a very pleasing experience…",[105,113,124],{"value":106,"source":77,"evidence":107},"AGPL license is a non-starter for commercial use",[108,112],{"id":109,"by":110,"text":111},"15683050","rsyring","Came here to comment on AGPL. We use Celery a lot. Sometimes for really small projects. Sometimes for Fortune 500 companies. Either way, AGPL isn't an option and managing…",{"id":59,"by":60,"text":61},{"value":114,"source":77,"evidence":115},"Commercial license cost is too high for small businesses",[116,120],{"id":117,"by":118,"text":119},"15684128","smnrchrds","I am curious how the landscape of software development would change if everyone followed suit. I am not sure the effect would be a net positive. $2000 per year is inconvenient.…",{"id":121,"by":122,"text":123},"15684751","friendzis","2k USD is somewhere between a man-week and a man-month. Hiring a developer to just reimplement existing solution is prohibitively expensive.",{"value":125,"source":77,"evidence":126},"RabbitMQ or direct broker use is simpler than a task DSL",[127,131],{"id":128,"by":129,"text":130},"15682948","bjt","RabbitMQ is not hard to use directly. I think most developers would be better off doing that, and coming to understand the power of AMQP, rather than adopting cute DSLs like this…",{"id":132,"by":133,"text":134},"15685846","moogie","No offense, but this sounds a lot like \"I can't be bothered to learn about the tech but I want to put it on my CV anyway\". The \"95%\" of use cases probably don't need a message…",[136,146],{"value":137,"source":77,"evidence":138},"SQS broker support",[139,143],{"id":140,"by":141,"text":142},"15682909","vosper","Does Dramatiq have first-class support for SQS? That's my biggest gripe with Celery. I mean, it does work with SQS, but it doesn't support it as a result backend, and it doesn't…",{"id":144,"by":11,"text":145},"15682921","It doesn't, but you're the second person to request it. Feel free to open an issue and I'll take a stab at writing an SQS broker. Having looked at it before, it didn't seem like…",{"value":147,"source":77,"evidence":148},"asyncio support",[149],{"id":150,"by":151,"text":152},"15682713","rcarmo","I might have missed it, but is this asyncio-ready?",[154,161],{"value":155,"source":77,"evidence":156},"How does it compare to RQ",[157],{"id":158,"by":159,"text":160},"15682785","SEJeff","Nice touch on having prometheus metric support builtin, but in general, if I want a simpler celery, I always use rq[1]. How does this compare to rq? Having this one the website…",{"value":162,"source":77,"evidence":163},"How AGPL applies to libraries and network use",[164,168,172],{"id":165,"by":166,"text":167},"15682856","pmontra","I approve the share and share back spirit. AGPL for a library means that the application that uses it must be licensed under the AGPL too, right?",{"id":169,"by":170,"text":171},"15684339","btown","Is asynchronous interaction still \"interaction\" for the purposes of the AGPL? If End User A's manual changes are placed into a database or file which is read by Dramatiq code in…",{"id":173,"by":174,"text":175},"15683962","acemarke","I've always been kind of unclear on how the AGPL works, even after reading various TL;DR-ish explainers. What happens if you link\u002Fimport AGPL code in, vs running an AGPL service…",[177,181,185,192],{"value":178,"source":77,"evidence":179},"Celery",[180],{"id":59,"by":60,"text":61},{"value":182,"source":77,"evidence":183},"RQ",[184],{"id":158,"by":159,"text":160},{"value":186,"source":77,"evidence":187},"Huey",[188],{"id":189,"by":190,"text":191},"15683241","coleifer","Huey: https:\u002F\u002Fhuey.readthedocs.io -- even simpler :) redis or sqlite, mit license, greenlet\u002Fthread\u002Fprocess worker model support.",{"value":193,"source":77,"evidence":194},"TaskTiger",[195],{"id":196,"by":197,"text":198},"15684368","jtharpla","I figured I'd add a mention of the task queue we use at close.io: https:\u002F\u002Fgithub.com\u002Fcloseio\u002Ftasktiger We run several hundred tasktiger workers in production (deployed using…",{"comments":200,"answered":33,"key":201},7,[202,203,206],{"id":68,"text":69},{"id":204,"text":205},"15682912","It's a little more nuanced[0] than that and I confess I don't fully understand it myself. IANAL, but my understanding is it depends on how it's used. If a user action on your…",{"id":207,"text":208},"15684745","I am not a copyright lawyer so when I say I don't fully understand the implications of a particular license that's all I mean. I would say exactly the same of thing of other…",{"commenters":210,"max_depth":211,"maker_replies":200,"first_comment_mins":212,"lifespan_hours":213},19,6,385,21,[215,217,219,221,222,224,226,230,231,232,236,237,239,240,242,244,246,249,251,255,257,259,261,263,265,267,268,269,270,272,273],[59,34,40,216,60,34],"project\u002Fcritical\u002Fpricing",[68,34,34,218,11,40],"maker\u002Fneutral\u002Fpricing",[165,34,38,220,166,34],"project\u002Fneutral\u002Fnone",[204,34,34,220,11,40],[169,34,40,223,170,34],"maker\u002Fcritical\u002Fnone",[207,34,34,225,11,40],"maker\u002Fneutral\u002Fnone",[227,34,40,228,229,34],"15683883","maker\u002Fcritical\u002Fpricing","nine_k",[173,34,38,220,174,34],[109,34,40,216,110,34],[233,34,34,234,235,34],"15683325","commenter\u002Fneutral\u002Fpricing","staticassertion",[117,34,34,234,118,34],[238,34,34,234,235,34],"15684442",[121,34,34,234,122,34],[241,34,34,234,118,34],"15684801",[128,40,40,243,129,34],"project\u002Fcritical\u002Fidea",[49,40,34,245,11,40],"project\u002Fneutral\u002Fidea",[247,40,33,248,102,34],"15683213","project\u002Fpositive\u002Fidea",[132,40,34,250,133,34],"commenter\u002Fneutral\u002Fidea",[252,40,34,253,254,34],"15685810","other\u002Fneutral\u002Fidea","scaryclam",[189,32,34,256,190,34],"other\u002Fneutral\u002Fnone",[258,32,34,256,102,34],"15683250",[260,32,34,256,190,34],"15683259",[262,32,34,256,102,34],"15683268",[101,38,33,264,102,34],"maker\u002Fpositive\u002Fnone",[158,266,38,245,159,34],4,[52,266,34,245,11,40],[196,33,34,256,197,34],[150,211,38,220,151,34],[271,211,34,220,11,40],"15682741",[140,200,38,220,141,34],[144,200,34,220,11,40],[],[276,281,286,291,296,300],{"id":277,"name":278,"points":279,"category":280},"15691409","Datasette",269,"data",{"id":282,"name":283,"points":284,"category":285},"15670827","SpeechBoard",190,"creative",{"id":287,"name":288,"points":289,"category":290},"15681755","Free Math",138,"productivity",{"id":292,"name":293,"points":294,"category":295},"15666088","Impostor Roster",117,"other",{"id":297,"name":298,"points":299,"category":20},"15700629","rooster",96,{"id":301,"name":302,"points":303,"category":304},"15694266","Sanity",90,"web_saas",8,false,"v2",{"id":309,"name":5,"line":6,"ai":306,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":310,"top":18,"kw":311,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":312,"url":9,"mix":313,"praise":94,"objection":106,"sub":21},15681066,-0.22,[24,25,26,27,28],"1030101310000010500000053003030",[32,33,34,33],1793990966451]