Support for redis and gevent for the task server

This commit is contained in:
Antonio de la Rosa 2025-10-25 23:41:24 +02:00
parent 76bec5ba30
commit ba7fd8dcc9
2 changed files with 17 additions and 5 deletions

View file

@ -1,6 +1,6 @@
{ {
"packages": ["urllib3", "paramiko", "gevent"], "packages": ["urllib3", "paramiko", "gevent", "redis", "rq"],
"models": ["mtest"] "models": ["mtest"]
} }

View file

@ -7,19 +7,25 @@ from paramecio2.libraries.db.extrafields.datefield import DateField
from paramecio2.libraries.db.extrafields.dictfield import DictField from paramecio2.libraries.db.extrafields.dictfield import DictField
from paramecio2.libraries.db.extrafields.jsonfield import JsonValueField from paramecio2.libraries.db.extrafields.jsonfield import JsonValueField
from paramecio2.libraries.i18n import I18n from paramecio2.libraries.i18n import I18n
from settings import config
import urllib3 import urllib3
try: try:
import ujson as json import ujson as json
except: except:
import json import json
#from redis import Redis from redis import Redis
#from rq import Queue from rq import Queue
import importlib import importlib
import traceback import traceback
#from modules.monit.models.monit import LonelyIpField #from modules.monit.models.monit import LonelyIpField
from modules.pastafari2.libraries.configtask import config_task from modules.pastafari2.libraries.configtask import config_task
rq_server=True
if hasattr(config, 'rq_server'):
rq_server=config.rq_server
class LonelyIpField(IpField): class LonelyIpField(IpField):
def __init__(self, name, size=64): def __init__(self, name, size=64):
@ -144,8 +150,14 @@ class Task(WebModel):
""" """
#return self.send_task(task_id, yes_parent, where_sql_server) #return self.send_task(task_id, yes_parent, where_sql_server)
return self.send_task_to_server(task_id, yes_parent, where_sql_server) if not rq_server:
return self.send_task_to_server(task_id, yes_parent, where_sql_server)
else:
return self.send_task(task_id, yes_parent, where_sql_server)
""" """
q = Queue(connection=Redis(host=redis_host, port=redis_port, password=redis_password)) q = Queue(connection=Redis(host=redis_host, port=redis_port, password=redis_password))