[PYTHON] Asynchrone Verarbeitung mit Linebot in der Jobwarteschlange

Es schien, als könnte ich es schnell schaffen, also entschied ich mich, Python für den Betrieb von Linebot zu verwenden. Erstens akzeptiert Linebot selbst nur data und gibt data zurück.

Um es grob auszudrücken, ist es wahrscheinlich, dass Sie es im Grunde genommen verwenden, um zwei Dinge zu tun.

Diese __Interpretationsmethode __ und das Antwortformat __ bestimmen die Funktionalität / Art von __Bot.

Unten habe ich das Linebot-Modul in Python grob vorbereitet. Die Verwendung / Ausführung finden Sie in README.md. Weitere Informationen finden Sie in README.md. Linebot-Modul: https://github.com/JFK/linebot

Lassen Sie uns hier Linebot mit dem obigen Modul und rq (Job Queue Worker) betreiben.

Führen Sie Linebot mit rq aus

Herstellung von rq

job_queue.py


from rq import Queue
from redis import Redis

def queue(name='low'):
	redis = Redis()
    q = Queue(connection=redis)
	return q

Führen Sie mit rq aus

from job_queue import queue
from linebot import LINEBot
...
#Analysieren Sie die Rückrufdaten
bot = LINEBot(<CHANNEL_ID>)
receive = bot.receive_callback(json_body)
to = receive.content('from')
text = 'Hi!'

#Wenn Sie den Text erhalten
if receive.is_message and receive.content('contentType') == ContentType.TEXT:
	#Auf Jobwarteschlange setzen und ausführen
	queue.enqueue(bot.send_text, [to], text)
...

Es fühlt sich an wie.

Recommended Posts

Asynchrone Verarbeitung mit Linebot in der Jobwarteschlange
Asynchrone Verarbeitung mit LINE BOT: RQ (Redis Queue) in Python
Verarbeitung in Python beenden
Asynchrone Verarbeitung (Threading) in Python
Sellerie asynchrone Verarbeitung in Flask
Verwenden des Python-Modus in der Verarbeitung
Ich habe versucht, asynchrone Verarbeitung mit Asyncio
Beispiel für die Implementierung einer Jobwarteschlange mit Tornados Collout
Implementierung der asynchronen Verarbeitung in Django (Sellerie, Redis)
Asynchrone Verarbeitung in Python: Asyncio-Reverse-Referenz
LINE-Bot [0] in Python
Modell unter Verwendung eines Faltungsnetzwerks in der Verarbeitung natürlicher Sprache
Dateiverarbeitung in Python
Multithread-Verarbeitung in Python
Wörterbuchverarbeitung mit items ()
Textverarbeitung mit Python