summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2017-02-25 22:13:26 +0100
committerschneefux <schneefux+commit@schneefux.xyz>2017-02-25 22:13:26 +0100
commit70f25f274f27484efad77c6621c38651c13de847 (patch)
tree231904a5d61884d0e8c3837c2dcda883a43ce83a
parentd510dd8c9f0d4c43426bcca939075b7d3007b8ef (diff)
downloadjoblib-70f25f274f27484efad77c6621c38651c13de847.tar.gz
joblib-70f25f274f27484efad77c6621c38651c13de847.zip
add simple cli tool to send requests
-rw-r--r--cli.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/cli.py b/cli.py
new file mode 100644
index 0000000..84f2922
--- /dev/null
+++ b/cli.py
@@ -0,0 +1,71 @@
+#!/usr/bin/python3
+
+import os
+import argparse
+import asyncio
+
+import joblib
+
+async def main(args):
+ queue = joblib.JobQueue()
+ await queue.connect(host=args.host,
+ port=args.port,
+ user=args.user,
+ password=args.password,
+ database=args.database)
+ await queue.setup()
+ if args.cleanup:
+ await queue.cleanup()
+
+ if args.player:
+ payload = {
+ "region": args.region,
+ "params": {
+ "filter[createdAt-start]": "2017-02-01T00:00:00Z",
+ "filter[playerNames]": args.player
+ }
+ }
+ await queue.request(jobtype="grab",
+ payload=payload,
+ priority=args.priority)
+
+parser = argparse.ArgumentParser(description="Request a Vainsocial update.")
+parser.add_argument("-n", "--player",
+ help="Player name",
+ type=str)
+parser.add_argument("-c", "--cleanup",
+ help="Reset all unfinished jobs",
+ action="store_true")
+parser.add_argument("-r", "--region",
+ help="Specify a region",
+ type=str,
+ choices=["na", "eu", "sg"],
+ default="na")
+parser.add_argument("-p", "--priority",
+ help="Set the priority",
+ type=int,
+ default=0)
+parser.add_argument("--host",
+ help="Database host",
+ type=str,
+ default=os.environ.get("POSTGRESQL_HOST") or "localhost")
+parser.add_argument("--port",
+ help="Database port",
+ type=int,
+ default=os.environ.get("POSTGRESQL_PORT") or 5432)
+parser.add_argument("--user",
+ help="Database user",
+ type=str,
+ default=os.environ.get("POSTGRESQL_USER") or "vainsocial")
+parser.add_argument("--password",
+ help="Database password",
+ type=str,
+ default=os.environ.get("POSTGRESQL_PASSWORD") or "")
+parser.add_argument("--database",
+ help="Database name",
+ type=str,
+ default=os.environ.get("POSTGRESQL_DB") or "vainraw")
+args = parser.parse_args()
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(main(args))