4 ms·
I honestly thought it was myself until I saw that it was an official GCP repo. Unbelievable... Sending emails is a one-liner in Django. Am I a sucker for not b
by jbarham 8y ago
I honestly thought it was myself until I saw that it was an official GCP repo. Unbelievable...
Sending emails is a one-liner in Django. Am I a sucker for not building my own email sending service?!
Of course being a Google demo they have to include the obligatory ad server service, in Java no less. Nonsense like this is why I'm steering my kids away from considering software development as a career.
- kumaraman 8y agoWhen a company and platform grows it's very common to build out an email sending service since you can only send so many emails per second. An example of an email sending service is Sendgrid, who have built an entire company around this service.
- jbarham 8y agoI'm aware, I've used Postmark for years. My point is that building your own microservice to send emails is ridiculous overkill.
- deleted 8y ago[deleted]
- pmlnr 8y agoSendgrid is not alive for mails/second, that part is not _that_ hard. They are alive because they take the spam blame for you.
- holografix 8y agoSorry to say mate but maybe... I’d usually pop that on a queue and get a separate service to pick it up... maybe that’s what you’re doing?
- zorga 8y agoEmail is already a queue.
- jbarham 8y agoYes, I send emails async using Django-RQ (previously Celery). It's still a one-liner once you've configured your async task handler. Which makes the example custom email sending microservice even more ridiculous when it can be done trivially by configuring proven off-the-shelf components and third party email delivery services.
- kumaraman 8y agoThat works well in your current situation, but when you have multiple products and services that also need to send emails it makes sense to combine them into a single service.
- jsmeaton 8y agoA bit off topic (sorry) but how are you finding django-rq compared to celery? Anything you miss? Anything you gained? I wasn’t sure how ready rq was for prime time, but I’ve hit far too many celery bugs and the maintenance hasn’t been great for awhile.
- jbarham 8y agoI found Django-RQ far simpler to configure than Celery. Given that I'm using Redis for caching anyway, it also removed RabbitMQ as a dependency which Celery basically requires. Django-RQ's job decorator is basically a drop-in replacement for Celery's task decorator. Django-RQ's built-in Django admin app is very nice. My Celery usage was pretty simple (mostly background email sending and PDF generation) but for those use-cases Django-RQ has been a very good replacement. Your mileage may vary of course.
- empath75 8y agoIt’s intended as an example for deploying a complex app using all the available tooling in kubernetes. It’s not intended to be actually used.