[PYTHON] Traitement asynchrone à l'aide de Linebot dans la file d'attente des travaux

Il semblait que je pouvais le faire rapidement, j'ai donc décidé d'utiliser Python pour faire fonctionner Linebot. Premièrement, Linebot lui-même n'accepte que data et renvoie data.

Donc, pour le dire grossièrement, il est probable que vous l'utilisiez essentiellement pour faire deux choses.

Cette __ méthode d'interprétation __ et __ format de réponse __ déterminent la fonctionnalité / la nature de __Bot.

Ci-dessous, j'ai grossièrement préparé le module Linebot en Python. Comment l'utiliser / l'exécuter est dans README.md, veuillez donc vous y référer. Module Linebot: https://github.com/JFK/linebot

Ici, exploitons Linebot en utilisant le module ci-dessus et rq (job queue worker).

Exécutez Linebot avec rq

Préparation de rq

job_queue.py


from rq import Queue
from redis import Redis

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

Exécuter en utilisant rq

from job_queue import queue
from linebot import LINEBot
...
#Analyser les données de rappel
bot = LINEBot(<CHANNEL_ID>)
receive = bot.receive_callback(json_body)
to = receive.content('from')
text = 'Hi!'

#Lorsque vous recevez le texte
if receive.is_message and receive.content('contentType') == ContentType.TEXT:
	#Définir sur la file d'attente des travaux et exécuter
	queue.enqueue(bot.send_text, [to], text)
...

C'est comme ressentir.

Recommended Posts

Traitement asynchrone à l'aide de Linebot dans la file d'attente des travaux
Traitement asynchrone avec LINE BOT: RQ (Redis Queue) en Python
Traitement des requêtes en Python
Traitement asynchrone (threading) en python
Traitement asynchrone du céleri dans Flask
Utilisation du mode Python dans le traitement
J'ai essayé le traitement asynchrone en utilisant asyncio
Exemple d'implémentation de file d'attente de travaux utilisant le collout de Tornado
Implémentation du traitement asynchrone dans Django (Celery, Redis)
Traitement asynchrone en Python: référence inverse asyncio
LINE-Bot [0] en Python
Modèle utilisant un réseau neuronal convolutif dans le traitement du langage naturel
Traitement de fichiers en Python
Traitement multithread en python
Traitement de type dictionnaire à l'aide d'éléments ()
Traitement de texte avec Python