{ "info": { "author": "Vladim\u00edr Gorej", "author_email": "gorej@codescale.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP", "Topic :: Utilities" ], "description": "django-gearman-proxy\n====================\n\ndjango-gearman-proxy is django app containing backends/workers for asynchronous email and sms sending\nusing gearman as message queue.\n\n\nHow it works\n------------\n\n**Emails**\n\nThis app enables you to send email asynchronously without blocking current threads, while\nsending email messages via various backends.\n\nThis setting in your project settings file does the following: ::\n\n # E-mails are sent to proxy backend.\n EMAIL_BACKEND = 'django_gearman_proxy.backends.mail.EmailBackend'\n\n # Email backend to be used inside of mail sender worker.\n GEARMAN_EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'\n\n\nAll email messages are sent to proxy email backend defined in settings *EMAIL_BACKEND*, in this example\n*'django_gearman_proxy.backends.mail.EmailBackend'*. This backend serializes email message to json format and\nsubmit it as background job to gearman message queue. django-gearman-proxy contains asynchronous email worker\nimplemented as django command. You have to start this command to make the magic work. ::\n\n $ python manage.py send_email\n\nRight after *send_email* command is up and running, it pulls email message job from gearman message queue,\nunserialize it from json and send it via backend defined in *GEARMAN_EMAIL_BACKEND*, in this example\n*'django.core.mail.backends.smtp.EmailBackend'*. This architecture allows to send email messages directly from\nyour django application, without blocking request/response cycles because email messages are sent in background.\n\n**Sms messages**\n\nThis app enables you to send sms messages asynchronously without blocking current threads, while\nsending sms messages via various backends.\n\nThis setting in your project settings file does the following: ::\n\n # Sms messages are sent to proxy backend.\n SMS_BACKEND = 'sendsms.backends.smssluzbacz.SmsBackend' = 'django_gearman_proxy.backends.sms.SmsBackend'\n\n # Sms backend to be used inside of sms sender worker.\n GEARMAN_SMSL_BACKEND = 'sendsms.backends.smssluzbacz.SmsBackend'\n\n\nAll sms messages are sent to proxy sms backend defined in settings *SMS_BACKEND*, in this example\n*'django_gearman_proxy.backends.sms.SmsBackend'*. This backend serializes sms message to json format and\nsubmit it as background job to gearman message queue. django-gearman-proxy contains asynchronous sms worker\nimplemented as django command. You have to start this command to make the magic work. ::\n\n $ python manage.py send_sms\n\nRight after *send_sms* command is up and running, it pulls sms message job from gearman message queue,\nunserialize it from json and send it via backend defined in *GEARMAN_SMS_BACKEND*, in this example\n*'sendsms.backends.smssluzbacz.SmsBackend'*. This architecture allows to send sms messages directly from\nyour django application, without blocking request/response cycles because sms messages are sent in background.\n\n\nFor more information how to run command as asynchronous workers, please\nrefer to `django-gearman-commands `_.\n\n\nRequirements\n------------\n\n - python 2.7+\n - django\n - django_gearman_commands\n - smssluzbacz-api\n - django-sendsms\n - python-gearman\n - running gearman daemon\n\n\nInstallation\n------------\n\nInstall via pypi or copy this module into your project or into your PYTHONPATH.\n\n\n**Put django_gearman_proxy into INSTALLED_APPS in your projects settings.py file**\n\n::\n\n INSTALLED_APPS = (\n 'localeurl',\n 'django.contrib.auth',\n 'django.contrib.contenttypes',\n 'django.contrib.sessions',\n 'django.contrib.sites',\n 'django.contrib.admin',\n 'django.contrib.sitemaps',\n 'web',\n 'debug_toolbar',\n 'rosetta',\n 'south',\n 'django_gearman_proxy'\n )\n\n\nConfiguration\n-------------\n\n**django settings.py constants**\n\n::\n\n # E-mails are sent to proxy backend.\n EMAIL_BACKEND = 'django_gearman_proxy.backends.mail.EmailBackend'\n\n # Email backend to be used inside of mail sender worker.\n GEARMAN_EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'\n\n # Serializers for transporting EmailMessage object via gearman protocol.\n GEARMAN_EMAIL_SERIALIZER = 'django_gearman_proxy.serializers.mail.json.serialize'\n GEARMAN_EMAIL_UNSERIALIZER = 'django_gearman_proxy.serializers.mail.json.unserialize'\n\n\n # Sms messages are sent to proxy backend.\n SMS_BACKEND = 'django_gearman_proxy.backends.sms.SmsBackend'\n\n # SMS backend to be used inside of sms sender worker.\n GEARMAN_SMS_BACKEND = 'sendsms.backends.smssluzbacz.SmsBackend'\n\n # Serializers for transporting SmsMessage object via gearman protocol.\n GEARMAN_SMS_SERIALIZER = 'django_gearman_proxy.serializers.sms.json.serialize'\n GEARMAN_SMS_UNSERIALIZER = 'django_gearman_proxy.serializers.sms.json.unserialize'\n\n\nTests\n-----\n\n**Tested on evnironment**\n\n - Xubuntu Linux 12.04.1 LTS precise 64-bit\n - python 2.7.3+\n - python unittest\n - django 1.4.5\n - gearmand 1.1.1\n\n**Running tests**\n\nTo run the tests from your django project, run command: ::\n\n $ python manage.py test django_gearman_proxy\n\n\nAuthor\n------\n\n| char0n (Vladim\u00edr Gorej, CodeScale s.r.o.)\n| email: gorej@codescale.net\n| web: http://www.codescale.net/\n\n\nReferences\n----------\n\n - http://github.com/CodeScaleInc/django-gearman-proxy\n - http://pypi.python.org/pypi/django-gearman-proxy/\n - http://www.codescale.net/en/community#django-gearman-proxy", "description_content_type": null, "docs_url": null, "download_url": "http://github.com/codescaleinc/django-gearman-proxy/tarball/master", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.codescale.net/en/community#django-gearman-proxy", "keywords": "django gearman email sms asynchronous message queue", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-gearman-proxy", "package_url": "https://pypi.org/project/django-gearman-proxy/", "platform": "any", "project_url": "https://pypi.org/project/django-gearman-proxy/", "project_urls": { "Download": "http://github.com/codescaleinc/django-gearman-proxy/tarball/master", "Homepage": "http://www.codescale.net/en/community#django-gearman-proxy" }, "release_url": "https://pypi.org/project/django-gearman-proxy/1.0.1/", "requires_dist": null, "requires_python": null, "summary": "Proxy backends/workers for asynchronous email and sms sending using gearman as message queue.", "version": "1.0.1" }, "last_serial": 789723, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "a3d5f48e10bc1ba9e3963167bf374e37", "sha256": "78457cd73d7a27a947cf9bee8857261b7aa3864ffdb4a0a25e36a425fa90737c" }, "downloads": -1, "filename": "django-gearman-proxy-1.0.tar.gz", "has_sig": false, "md5_digest": "a3d5f48e10bc1ba9e3963167bf374e37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8396, "upload_time": "2013-01-28T12:29:59", "url": "https://files.pythonhosted.org/packages/7f/f1/592bdfc5c6088b308bd0bb59bb1e559f8fb14cf355c3cd13b14c127be2d1/django-gearman-proxy-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "7de0448fecfe939c882c068bbcac0190", "sha256": "6387afc42f71aa350cdceec5893a2eb2fa6964616dce1add93340f672e358061" }, "downloads": -1, "filename": "django-gearman-proxy-1.0.1.tar.gz", "has_sig": false, "md5_digest": "7de0448fecfe939c882c068bbcac0190", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8492, "upload_time": "2013-04-12T12:45:28", "url": "https://files.pythonhosted.org/packages/b7/7a/c31691b537adb0a722eff3ab6c33ea95d0923a689f4330307dd18597c8d1/django-gearman-proxy-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7de0448fecfe939c882c068bbcac0190", "sha256": "6387afc42f71aa350cdceec5893a2eb2fa6964616dce1add93340f672e358061" }, "downloads": -1, "filename": "django-gearman-proxy-1.0.1.tar.gz", "has_sig": false, "md5_digest": "7de0448fecfe939c882c068bbcac0190", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8492, "upload_time": "2013-04-12T12:45:28", "url": "https://files.pythonhosted.org/packages/b7/7a/c31691b537adb0a722eff3ab6c33ea95d0923a689f4330307dd18597c8d1/django-gearman-proxy-1.0.1.tar.gz" } ] }