Skip to content
Snippets Groups Projects
Commit 56b5d6da authored by Sybren A. Stüvel's avatar Sybren A. Stüvel
Browse files

Pass software name + version in a User-Agent HTTP header

This header is included with each request, so that the Manager can handle
software version bookkeeping however it sees fit.
parent f5505b9a
No related branches found
No related tags found
No related merge requests found
__version__ = '2.0-beta10-worker3'
......@@ -37,10 +37,11 @@ def main():
shutdown_future = loop.create_future()
# Piece all the components together.
from . import runner, worker, upstream, upstream_update_queue, may_i_run
from . import runner, worker, upstream, upstream_update_queue, may_i_run, __version__
fmanager = upstream.FlamencoManager(
manager_url=confparser.value('manager_url'),
flamenco_worker_version=__version__,
)
tuqueue = upstream_update_queue.TaskUpdateQueue(
......
import attr
import concurrent.futures
import functools
import requests
from . import attrs_extra
......@@ -11,6 +12,7 @@ HTTP_TIMEOUT = 3 # in seconds
@attr.s
class FlamencoManager:
manager_url = attr.ib(validator=attr.validators.instance_of(str))
flamenco_worker_version = attr.ib(validator=attr.validators.instance_of(str))
session = attr.ib(default=None, init=False)
auth = attr.ib(default=None, init=False) # tuple (worker_id, worker_secret)
......@@ -34,6 +36,10 @@ class FlamencoManager:
async def patch(self, *args, loop, **kwargs) -> requests.Response:
return await self.client_request('PATCH', *args, loop=loop, **kwargs)
@functools.lru_cache(1)
def user_agent(self):
return 'Flamenco-Worker %s' % self.flamenco_worker_version
async def client_request(self, method, url, *,
params=None,
data=None,
......@@ -75,6 +81,10 @@ class FlamencoManager:
else:
self._log.debug('%s %s with JSON: %s', method, abs_url, json)
if headers is None:
headers = {}
headers['User-Agent'] = self.user_agent()
http_req = partial(self.session.request,
method, abs_url,
params=params,
......
......@@ -5,7 +5,7 @@ import setuptools
if __name__ == '__main__':
setuptools.setup(
name='flamenco-worker',
version='2.0.0-beta10-worker3',
version='2.0-beta10-worker3',
description='Flamenco Worker implementation',
author='Sybren A. Stüvel',
author_email='sybren@blender.studio',
......
......@@ -6,6 +6,7 @@ if [ -z "$1" ]; then
fi
sed "s/version='[^']*'/version='$1'/" -i setup.py
sed "s/__version__\s*=\s*'[^']*'/__version__ = '$1'/" -i flamenco_worker/__init__.py
git diff
echo
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment