使用 Python 进行 zappa 调度
zappa scheduling with Python
我运行这个代码用Twilio发送短信...
client.messages.create(
to=form.phone.data,
from_="+1xxxxxxxxxx",
body="This is a text message"
我的应用程序使用 Python 的 Zappa 托管在 AWS Lambda 上。问题是我需要能够安排此消息在 10 分钟后发送。
Zappa 提供任务执行,但他们的文档不清楚应该如何完成这样的事情。
感谢您的帮助。
这不是 Zappa 目前直接支持的东西。您需要对可用的调度系统进行某种破解。
安排每分钟 运行 的活动:
{
"production": {
...
"events": [{
"function": "your_module.send_msg", // The function to execute
"expression": "rate(1 minute)" // When to execute it (in cron or rate format)
}],
...
}
}
你的代码可以这样写。
from datetime import datetime
def send_msg():
form = get_form()
elapsed = datetime.now() - form.date_created
if 10 < abs(elapsed.total_seconds())/60) < 11: # this is naive
client.messages.create(...)
我为 zappa 制作了一个数据库驱动的任务队列。 https://github.com/andytwoods/zappa-call-later。早期,但我们正在生产中使用它。
每隔 X 分钟(如@Oluwafemi Sule 的回答中所建议的那样)一个 Zappa 事件会 ping 一个检查任务的函数。任务可以延迟 Y 分钟,重复 Z 次等。
我的方案很粗糙,时间分辨率低,目前水平很低
我运行这个代码用Twilio发送短信...
client.messages.create(
to=form.phone.data,
from_="+1xxxxxxxxxx",
body="This is a text message"
我的应用程序使用 Python 的 Zappa 托管在 AWS Lambda 上。问题是我需要能够安排此消息在 10 分钟后发送。
Zappa 提供任务执行,但他们的文档不清楚应该如何完成这样的事情。
感谢您的帮助。
这不是 Zappa 目前直接支持的东西。您需要对可用的调度系统进行某种破解。
安排每分钟 运行 的活动:
{
"production": {
...
"events": [{
"function": "your_module.send_msg", // The function to execute
"expression": "rate(1 minute)" // When to execute it (in cron or rate format)
}],
...
}
}
你的代码可以这样写。
from datetime import datetime
def send_msg():
form = get_form()
elapsed = datetime.now() - form.date_created
if 10 < abs(elapsed.total_seconds())/60) < 11: # this is naive
client.messages.create(...)
我为 zappa 制作了一个数据库驱动的任务队列。 https://github.com/andytwoods/zappa-call-later。早期,但我们正在生产中使用它。
每隔 X 分钟(如@Oluwafemi Sule 的回答中所建议的那样)一个 Zappa 事件会 ping 一个检查任务的函数。任务可以延迟 Y 分钟,重复 Z 次等。
我的方案很粗糙,时间分辨率低,目前水平很低