当应用程序部署到Heroku时,Twilio代码不工作

2024-04-18 16:28:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用twilio和apscheduler发送文本通知,代码在本地运行。但是,当我将app.py部署到heroku时,twilio代码不起作用。部署twilio时是否需要执行额外步骤

相关代码:

将作业添加到计划程序

if datetime.now(tz=tz) <= d-timedelta(days=2):
    trigger = DateTrigger(run_date=d-timedelta(days=2), timezone=tz)

    scheduler.add_job(send_sms_reminder, trigger=trigger, id=str(slot_id), args=[slot_id], 
    misfire_grace_time=60*2)

if datetime.now(tz=tz) <= d.replace(hour=7, minute=0):
    trigger = DateTrigger(run_date=d.replace(hour=7, minute=00), timezone=tz)

    scheduler.add_job(send_sms_reminder, trigger=trigger,
    id=str(slot.slot_id)+"*", args=[slot.slot_id], misfire_grace_time=60)

发送文本的代码

def send_sms_reminder(slot_id):

    s = Session()
    slot = s.query(Slots).filter_by(slot_id=slot_id).first()
    event = s.query(Events).filter_by(event_id=slot.event_id).first()
    employee = Profile.query.filter_by(username=slot.client_username).first()
    s.close()

    print("Sending message at:", datetime.now().strftime("%H:%M"))

    body = "Hello {name}! You have an appointment with {comp} at {time} on {date}".format(
     name=employee.first_name, comp=event.employer, time=slot.start.strftime('%H:%M%p'), 
     date=event.date.strftime("%A, %b %d"))

    message = client.messages \
    .create(
       body=body,
       from_=twilio_number,
       to="+1" + employee.phone_number
     )