Add timeout option for actor check

merge-requests/30/head
Bob Mottram 2022-03-31 13:00:36 +01:00
parent 2edba03619
commit 592fb92539
3 changed files with 30 additions and 9 deletions

View File

@ -7872,7 +7872,6 @@ class PubServer(BaseHTTPRequestHandler):
access_keys = self.server.key_shortcuts[nickname]
if curr_session:
check_actor_timeout = 5
# because this is slow, do it in a separate thread
if self.server.thrCheckActor.get(nickname):
# kill existing thread
@ -7886,7 +7885,8 @@ class PubServer(BaseHTTPRequestHandler):
self.server.domain_full,
options_actor, options_profile_url,
self.server.person_cache,
check_actor_timeout), daemon=True)
self.server.check_actor_timeout),
daemon=True)
self.server.thrCheckActor[nickname].start()
msg = \
@ -20632,7 +20632,8 @@ def load_tokens(base_dir: str, tokens_dict: {}, tokens_lookup: {}) -> None:
break
def run_daemon(crawlers_allowed: [],
def run_daemon(check_actor_timeout: int,
crawlers_allowed: [],
dyslexic_font: bool,
content_license_url: str,
lists_enabled: str,
@ -20798,6 +20799,12 @@ def run_daemon(crawlers_allowed: [],
'Reminder': 'r'
}
# timeout used when checking for actor changes when clicking an avatar
# and entering person options screen
if check_actor_timeout < 2:
check_actor_timeout = 2
httpd.check_actor_timeout = check_actor_timeout
# how many hours after a post was publushed can a reply be made
default_reply_interval_hrs = 9999999
httpd.default_reply_interval_hrs = default_reply_interval_hrs

View File

@ -195,6 +195,10 @@ parser.add_argument('--i2p_domain', dest='i2p_domain', type=str,
parser.add_argument('-p', '--port', dest='port', type=int,
default=None,
help='Port number to run on')
parser.add_argument('--check-actor-timeout', dest='check_actor_timeout',
type=int, default=2,
help='Timeout in seconds used for checking is an actor ' +
'has changed when clicking their avatar image')
parser.add_argument('--year', dest='year', type=int,
default=search_date.year,
help='Year for calendar query')
@ -3425,7 +3429,8 @@ if args.defaultCurrency:
if __name__ == "__main__":
print('allowdeletion: ' + str(args.allowdeletion))
run_daemon(crawlers_allowed,
run_daemon(args.check_actor_timeout,
crawlers_allowed,
args.dyslexic_font,
content_license_url,
lists_enabled,

View File

@ -824,8 +824,10 @@ def create_server_alice(path: str, domain: str, port: int,
content_license_url = 'https://creativecommons.org/licenses/by/4.0'
dyslexic_font = False
crawlers_allowed = []
check_actor_timeout = 2
print('Server running: Alice')
run_daemon(crawlers_allowed,
run_daemon(check_actor_timeout,
crawlers_allowed,
dyslexic_font,
content_license_url,
lists_enabled, default_reply_interval_hrs,
@ -979,8 +981,10 @@ def create_server_bob(path: str, domain: str, port: int,
content_license_url = 'https://creativecommons.org/licenses/by/4.0'
dyslexic_font = False
crawlers_allowed = []
check_actor_timeout = 2
print('Server running: Bob')
run_daemon(crawlers_allowed,
run_daemon(check_actor_timeout,
crawlers_allowed,
dyslexic_font,
content_license_url,
lists_enabled, default_reply_interval_hrs,
@ -1057,8 +1061,10 @@ def create_server_eve(path: str, domain: str, port: int, federation_list: [],
content_license_url = 'https://creativecommons.org/licenses/by/4.0'
dyslexic_font = False
crawlers_allowed = []
check_actor_timeout = 2
print('Server running: Eve')
run_daemon(crawlers_allowed,
run_daemon(check_actor_timeout,
crawlers_allowed,
dyslexic_font,
content_license_url,
lists_enabled, default_reply_interval_hrs,
@ -1137,8 +1143,10 @@ def create_server_group(path: str, domain: str, port: int,
content_license_url = 'https://creativecommons.org/licenses/by/4.0'
dyslexic_font = False
crawlers_allowed = []
check_actor_timeout = 2
print('Server running: Group')
run_daemon(crawlers_allowed,
run_daemon(check_actor_timeout,
crawlers_allowed,
dyslexic_font,
content_license_url,
lists_enabled, default_reply_interval_hrs,
@ -5096,7 +5104,8 @@ def _test_functions():
'e2e_eremove_device',
'setOrganizationScheme',
'fill_headers',
'_nothing'
'_nothing',
'check_for_changed_actor'
]
exclude_imports = [
'link',