每当某个用户发推特时,我会尝试从一个Twilio电话号码向另一个Twilio电话号码发送短信。代码如下:
import tweepy
from twilio.rest import Client
consumer_key = CONSUMER_KEY
consumer_secret = CONSUMER_SECRET
access_token = ACCESS_TOKEN
access_token_secret = ACCESS_TOKEN_SECRET
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
client = Client(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN)
class MyStreamListener(tweepy.StreamListener):
def on_status(self, status):
if status.user.id_str == "14173315":
message = client.messages \
.create(
body="Success!",
from_=TWILIO_PHONE_NUMBER_1,
to=TWILIO_PHONE_NUMBER_2
)
myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener)
myStream.filter(follow=["14173315"])
这是在Heroku worker dyno上托管的,因此当应用程序处于活动状态时,Tweepy侦听器总是在侦听Twitter ID为14173315的用户的推文。但是,只要Twitter ID为14173315的用户发了推特,就不会发送短信。我知道这一点,因为我检查了Twilio短信日志,两个电话号码之间没有显示任何消息。我不知道为什么会这样。有什么想法吗?谢谢
这里是Twilio开发者福音传道者
经过长时间的交谈,Twitter流媒体API或Twilio都没有发现这个问题。相反,工作进程没有在Heroku上运行
在Heroku上运行辅助进程时,需要确保辅助进程由Heroku启动。默认情况下,Heroku将启动一个“web”进程,但您需要告诉它具体启动其他进程
要检查是否有任何进程正在运行,请运行:
如果在
Procfile
中定义了一个名为“worker”的进程,则可以使用以下命令确保它在一个动态中运行:您可以阅读有关scaling dynos in the Heroku documentation的更多信息
相关问题 更多 >
编程相关推荐