当我尝试启动我的芹菜工人时,我收到导入错误.我不确定是什么问题.任何帮助将受到高度赞赏.
我的项目:
email/__init__.py
/celery.py
Run Code Online (Sandbox Code Playgroud)
我尝试通过调用来运行应用程序:
celery worker --app=email
Run Code Online (Sandbox Code Playgroud)
我已经按照这里的所有步骤进行了操作 - http://docs.celeryproject.org/en/latest/getting-started/next-steps.html#about-the-app-argument
追溯:
File "/Users/.../bin/celery", line 9, in <module>
load_entry_point('celery==3.0.24', 'console_scripts', 'celery')()
File "/Users/.../lib/python2.7/site-packages/celery/__main__.py, line 14, in main
main()
File "/Users/.../lib/python2.7/site-packages/celery/bin/celery.py", line 957, in main
cmd.execute_from_commandline(argv)
File "/Users/.../lib/python2.7/site-packages/celery/bin/celery.py", line 901, in execute_from_commandline
super(CeleryCommand, self).execute_from_commandline(argv)))
File "/Users/.../lib/python2.7/site-packages/celery/bin/base.py", line 185, in execute_from_commandline
argv = self.setup_app_from_commandline(argv)
File "/Users/.../lib/python2.7/site-packages/celery/bin/base.py", line 300, in setup_app_from_commandline
self.app = self.find_app(app)
File "/Users/.../lib/python2.7/site-packages/celery/bin/base.py", line 317, in find_app
return self.find_app('%s.celery:' % (app.replace(':', ''), ))
File "/Users/.../lib/python2.7/site-packages/celery/bin/base.py", line 311, in find_app
sym …Run Code Online (Sandbox Code Playgroud) 我希望我写的电子邮件服务与我的烧瓶应用程序完全分离.我正在使用带有rabbitmq的芹菜.所以我想知道是否有一种方法可以配置芹菜,以便在一个项目中我有Flask应用程序将消息发送到队列(生产者).在另一个项目中,我运行了芹菜实例,它监听消息并执行任务(使用者).我仍然对通信如何正常工作感到困惑?我是否将API(发送电子邮件)放入我的烧瓶应用程序或芹菜项目中?最后,我想将Flask应用程序和Celery实例放在不同的EC2实例中 - 使用rabbitmq充当消息代理.
谢谢你的帮助!
嗨,我正在尝试编写单独的邮件服务,它与我们的烧瓶应用程序分离.所以我正在寻找一种方法来在用户首次登录我们的烧瓶应用程序时发送欢迎电子邮件.我正在使用Celery和rabbitmq进行异步操作.
这是我的电子邮件功能 -
sen = 'example@gmail.com'
pwd = 'my_password'
@celery.task
def send_email(nickname, email):
msg = MIMEMultipart('alternative')
msg['Subject'] = 'my_sub'
msg['From'] = sen
msg['To'] = email
html = <b>test_body</b>
part1 = MIMEText(html, 'html')
msg.attach(part1)
server = smtplib.SMTP("smtp.gmail.com", 587)
server.ehlo()
server.starttls()
server.login(sen, pwd)
server.sendmail(sen, [email], msg.as_string())
server.close()
Run Code Online (Sandbox Code Playgroud)
最初我使用flask的render_template来获取html主体和主题.但我不想使用烧瓶扩展(我有我的理由).所以我的问题是:
1)如何使用电子邮件模板以便轻松配置主题和正文字段?
2)如何将默认电子邮件发件人和密码放在配置文件/电子邮件模板中(可能与q1有关)?
3)似乎我有很多代码要发送简单的电子邮件.你能建议一些优化技术(省略步骤)吗?
在此先感谢您的帮助.
我有一个代表foodtrucks的模型.
class FoodTruck(models.Model):
name = models.CharField(max_length=30)
location = models.TextField()
creation_date = models.DateTimeField(default=datetime.now)
start_date = models.DateTimeField(null=True, blank=True)
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
此表中将有许多行具有相同的名称(但位置不同).在我看来,我想按名称排序列表(出现次数最多).
示例表:
name | location | creation_date | start_date
clover | ABC | ...
chens | XYZ | ...
clover | ABC | ...
Run Code Online (Sandbox Code Playgroud)
我的目标是列出食品卡车以及它们在过去30天内在所有地点出现的次数,并按照最常见的次序排序.
python ×4
celery ×3
flask ×3
celery-task ×1
django ×1
django-orm ×1
email ×1
rabbitmq ×1
smtp ×1
sql ×1