Compare commits
No commits in common. "a4c3834b62d8e7d7545120ee8baa04f39bee1ca6" and "b16db665e56059a1a4035fee78b2566adac2afcb" have entirely different histories.
a4c3834b62
...
b16db665e5
1
.gitignore
vendored
1
.gitignore
vendored
@ -157,4 +157,3 @@ cython_debug/
|
|||||||
.vscode/
|
.vscode/
|
||||||
stack.env
|
stack.env
|
||||||
|
|
||||||
static/
|
|
||||||
|
@ -179,12 +179,11 @@ CACHES = {
|
|||||||
"default": {
|
"default": {
|
||||||
"BACKEND": "django_redis.cache.RedisCache",
|
"BACKEND": "django_redis.cache.RedisCache",
|
||||||
# "LOCATION": "unix:///var/run/socks/redis.sock",
|
# "LOCATION": "unix:///var/run/socks/redis.sock",
|
||||||
# "LOCATION": f"redis://{REDIS_HOST}:{REDIS_PORT}",
|
"LOCATION": f"redis://{REDIS_HOST}:{REDIS_PORT}",
|
||||||
"LOCATION": "unix:///var/run/neptune-redis.sock",
|
|
||||||
"OPTIONS": {
|
"OPTIONS": {
|
||||||
"db": REDIS_DB,
|
"db": REDIS_DB_CACHE,
|
||||||
# "parser_class": "django_redis.cache.RedisCache",
|
# "parser_class": "django_redis.cache.RedisCache",
|
||||||
# "PASSWORD": REDIS_PASSWORD,
|
"PASSWORD": REDIS_PASSWORD,
|
||||||
"pool_class": "redis.BlockingConnectionPool",
|
"pool_class": "redis.BlockingConnectionPool",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ urlpatterns = [
|
|||||||
),
|
),
|
||||||
path("cancel/", TemplateView.as_view(template_name="cancel.html"), name="cancel"),
|
path("cancel/", TemplateView.as_view(template_name="cancel.html"), name="cancel"),
|
||||||
path("portal", Portal.as_view(), name="portal"),
|
path("portal", Portal.as_view(), name="portal"),
|
||||||
path("sapp/", admin.site.urls),
|
path("admin/", admin.site.urls),
|
||||||
path("accounts/", include("django.contrib.auth.urls")),
|
path("accounts/", include("django.contrib.auth.urls")),
|
||||||
path("accounts/signup/", Signup.as_view(), name="signup"),
|
path("accounts/signup/", Signup.as_view(), name="signup"),
|
||||||
##
|
##
|
||||||
|
@ -6,15 +6,13 @@ from redis import StrictRedis
|
|||||||
|
|
||||||
os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true"
|
os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true"
|
||||||
|
|
||||||
# /var/run/neptune-redis.sock
|
|
||||||
# use the socket
|
r = StrictRedis(
|
||||||
r = StrictRedis(unix_socket_path="/var/run/neptune-redis.sock", db=settings.REDIS_DB)
|
host=settings.REDIS_HOST,
|
||||||
# r = StrictRedis(
|
port=settings.REDIS_PORT,
|
||||||
# host=settings.REDIS_HOST,
|
password=settings.REDIS_PASSWORD,
|
||||||
# port=settings.REDIS_PORT,
|
db=settings.REDIS_DB
|
||||||
# password=settings.REDIS_PASSWORD,
|
)
|
||||||
# db=settings.REDIS_DB
|
|
||||||
# )
|
|
||||||
|
|
||||||
if settings.STRIPE_TEST:
|
if settings.STRIPE_TEST:
|
||||||
stripe.api_key = settings.STRIPE_API_KEY_TEST
|
stripe.api_key = settings.STRIPE_API_KEY_TEST
|
||||||
|
@ -253,6 +253,7 @@ class StorageBackend(ABC):
|
|||||||
"took": time_took_rounded,
|
"took": time_took_rounded,
|
||||||
"cache": True,
|
"cache": True,
|
||||||
}
|
}
|
||||||
|
print("S2", search_query)
|
||||||
response = self.run_query(user, search_query, **kwargs)
|
response = self.run_query(user, search_query, **kwargs)
|
||||||
|
|
||||||
# For Elasticsearch
|
# For Elasticsearch
|
||||||
|
@ -57,6 +57,7 @@ class ManticoreBackend(StorageBackend):
|
|||||||
"limit": size,
|
"limit": size,
|
||||||
"query": {"bool": {"must": []}},
|
"query": {"bool": {"must": []}},
|
||||||
}
|
}
|
||||||
|
print("BASE", query_base)
|
||||||
query_string = {
|
query_string = {
|
||||||
"query_string": query,
|
"query_string": query,
|
||||||
}
|
}
|
||||||
@ -76,6 +77,7 @@ class ManticoreBackend(StorageBackend):
|
|||||||
raw = kwargs.get("raw")
|
raw = kwargs.get("raw")
|
||||||
if search_query and not raw:
|
if search_query and not raw:
|
||||||
search_query["index"] = index
|
search_query["index"] = index
|
||||||
|
pprint(search_query)
|
||||||
|
|
||||||
|
|
||||||
path = kwargs.get("path", "json/search")
|
path = kwargs.get("path", "json/search")
|
||||||
@ -96,6 +98,7 @@ class ManticoreBackend(StorageBackend):
|
|||||||
"""
|
"""
|
||||||
index = kwargs.get("index")
|
index = kwargs.get("index")
|
||||||
search_query["index"] = index
|
search_query["index"] = index
|
||||||
|
pprint(search_query)
|
||||||
async with httpx.AsyncClient() as client:
|
async with httpx.AsyncClient() as client:
|
||||||
response = await client.post(
|
response = await client.post(
|
||||||
f"{settings.MANTICORE_URL}/json/search", json=search_query
|
f"{settings.MANTICORE_URL}/json/search", json=search_query
|
||||||
|
@ -94,7 +94,7 @@ def parse_results(results, meta=None):
|
|||||||
del element[field]
|
del element[field]
|
||||||
# Unfold the tokens
|
# Unfold the tokens
|
||||||
if "tokens" in element:
|
if "tokens" in element:
|
||||||
if element["tokens"].startswith('["') or element["tokens"].startswith("['"):
|
if element["tokens"].startswith('["'):
|
||||||
tokens_parsed = ast.literal_eval(element["tokens"])
|
tokens_parsed = ast.literal_eval(element["tokens"])
|
||||||
element["tokens"] = tokens_parsed
|
element["tokens"] = tokens_parsed
|
||||||
|
|
||||||
|
@ -85,4 +85,5 @@ def construct_query(index, net, channel, src, num, size, type=None, nicks=None):
|
|||||||
if extra_should2:
|
if extra_should2:
|
||||||
query["query"]["bool"]["must"].append({"bool": {"should": [*extra_should2]}})
|
query["query"]["bool"]["must"].append({"bool": {"should": [*extra_should2]}})
|
||||||
|
|
||||||
|
print("CONTEXT QUERY", query)
|
||||||
return query
|
return query
|
||||||
|
@ -91,6 +91,7 @@ def parse_index(user, query_params, raise_error=False):
|
|||||||
else:
|
else:
|
||||||
index = settings.INDEX_MAIN
|
index = settings.INDEX_MAIN
|
||||||
|
|
||||||
|
print("GOT INDEX", index)
|
||||||
return index
|
return index
|
||||||
|
|
||||||
|
|
||||||
|
@ -94,13 +94,12 @@ def process_rules(data):
|
|||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
r = StrictRedis(unix_socket_path="/var/run/neptune-redis.sock", db=10) # To match Monolith DB
|
r = StrictRedis(
|
||||||
# r = StrictRedis(
|
host=settings.REDIS_HOST,
|
||||||
# host=settings.REDIS_HOST,
|
port=settings.REDIS_PORT,
|
||||||
# port=settings.REDIS_PORT,
|
password=settings.REDIS_PASSWORD,
|
||||||
# password=settings.REDIS_PASSWORD,
|
db=settings.REDIS_DB
|
||||||
# db=settings.REDIS_DB
|
)
|
||||||
# )
|
|
||||||
p = r.pubsub()
|
p = r.pubsub()
|
||||||
p.psubscribe("messages")
|
p.psubscribe("messages")
|
||||||
for message in p.listen():
|
for message in p.listen():
|
||||||
|
@ -44,11 +44,8 @@ class Command(BaseCommand):
|
|||||||
for interval in INTERVALS:
|
for interval in INTERVALS:
|
||||||
log.debug(f"Scheduling {interval} second job")
|
log.debug(f"Scheduling {interval} second job")
|
||||||
scheduler.add_job(job, "interval", seconds=interval, args=[interval])
|
scheduler.add_job(job, "interval", seconds=interval, args=[interval])
|
||||||
|
|
||||||
loop = asyncio.new_event_loop()
|
|
||||||
asyncio.set_event_loop(loop)
|
|
||||||
scheduler._eventloop = loop
|
|
||||||
scheduler.start()
|
scheduler.start()
|
||||||
|
loop = asyncio.get_event_loop()
|
||||||
try:
|
try:
|
||||||
loop.run_forever()
|
loop.run_forever()
|
||||||
except (KeyboardInterrupt, SystemExit):
|
except (KeyboardInterrupt, SystemExit):
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if params.index != 'int' and params.index != 'meta' %}
|
{% if params.index != 'int' and params.index != 'meta' %}
|
||||||
<div id="sentiment-container" {% if params.graph is None %} class="is-hidden" {% endif %}>
|
<div id="sentiment-container" {% if params.show_sentiment is None %} class="is-hidden" {% endif %}>
|
||||||
<canvas id="sentiment-chart"></canvas>
|
<canvas id="sentiment-chart"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<script src="{% static 'chart.js' %}"></script>
|
<script src="{% static 'chart.js' %}"></script>
|
||||||
|
@ -258,7 +258,7 @@
|
|||||||
id="sentiment_graph_switch"
|
id="sentiment_graph_switch"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
class="switch is-rounded is-info"
|
class="switch is-rounded is-info"
|
||||||
name="graph"
|
name="show_sentiment"
|
||||||
data-script="on click toggle .is-hidden on #sentiment-container">
|
data-script="on click toggle .is-hidden on #sentiment-container">
|
||||||
|
|
||||||
<label
|
<label
|
||||||
|
@ -119,20 +119,16 @@ class DrilldownTableView(SingleTableView):
|
|||||||
sizes = settings.MAIN_SIZES
|
sizes = settings.MAIN_SIZES
|
||||||
|
|
||||||
if request.GET:
|
if request.GET:
|
||||||
print("GET")
|
|
||||||
self.template_name = "index.html"
|
self.template_name = "index.html"
|
||||||
# GET arguments in URL like ?query=xyz
|
# GET arguments in URL like ?query=xyz
|
||||||
query_params = request.GET.dict()
|
query_params = request.GET.dict()
|
||||||
print("QUERY_PARAMS GET", query_params)
|
|
||||||
if request.htmx:
|
if request.htmx:
|
||||||
if request.resolver_match.url_name == "search_partial":
|
if request.resolver_match.url_name == "search_partial":
|
||||||
self.template_name = "partials/results_table.html"
|
self.template_name = "partials/results_table.html"
|
||||||
elif request.POST:
|
elif request.POST:
|
||||||
print("POST")
|
|
||||||
query_params = request.POST.dict()
|
query_params = request.POST.dict()
|
||||||
else:
|
else:
|
||||||
self.template_name = "index.html"
|
self.template_name = "index.html"
|
||||||
print("FRESH")
|
|
||||||
# No query, this is a fresh page load
|
# No query, this is a fresh page load
|
||||||
# Don't try to search, since there's clearly nothing to do
|
# Don't try to search, since there's clearly nothing to do
|
||||||
params_with_defaults = {}
|
params_with_defaults = {}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
unixsocket /var/run/neptune-redis.sock
|
# unixsocket /var/run/socks/redis.sock
|
||||||
unixsocketperm 777
|
# unixsocketperm 777
|
||||||
port 0
|
port 6379
|
||||||
# port 6379
|
requirepass changeme
|
||||||
# requirepass changeme
|
|
@ -4,19 +4,9 @@ module=app.wsgi:application
|
|||||||
env=DJANGO_SETTINGS_MODULE=app.settings
|
env=DJANGO_SETTINGS_MODULE=app.settings
|
||||||
master=1
|
master=1
|
||||||
pidfile=/tmp/project-master.pid
|
pidfile=/tmp/project-master.pid
|
||||||
#socket=0.0.0.0:8000
|
socket=0.0.0.0:8000
|
||||||
socket=/var/run/uwsgi-neptune.sock
|
|
||||||
# socket 777
|
|
||||||
chmod-socket=777
|
|
||||||
harakiri=20
|
harakiri=20
|
||||||
#max-requests=100000
|
max-requests=100000
|
||||||
# Set a lower value for max-requests to prevent memory leaks from building up over time
|
|
||||||
max-requests=1000
|
|
||||||
# Ensure old worker processes are cleaned up properly
|
|
||||||
reload-on-as=512
|
|
||||||
reload-on-rss=256
|
|
||||||
vacuum=1
|
vacuum=1
|
||||||
home=/venv
|
home=/venv
|
||||||
processes=4
|
processes=12
|
||||||
threads=2
|
|
||||||
log-level=debug
|
|
||||||
|
Loading…
Reference in New Issue
Block a user