mirror of https://gitlab.com/bashrc2/epicyon
				
				
				
			Function to start threads
							parent
							
								
									cf44fd6ee4
								
							
						
					
					
						commit
						db95a22ee4
					
				
							
								
								
									
										52
									
								
								daemon.py
								
								
								
								
							
							
						
						
									
										52
									
								
								daemon.py
								
								
								
								
							| 
						 | 
				
			
			@ -124,6 +124,7 @@ from auth import create_password
 | 
			
		|||
from auth import create_basic_auth_header
 | 
			
		||||
from auth import authorize_basic
 | 
			
		||||
from auth import store_basic_credentials
 | 
			
		||||
from threads import begin_thread
 | 
			
		||||
from threads import thread_with_trace
 | 
			
		||||
from threads import remove_dormant_threads
 | 
			
		||||
from media import process_meta_data
 | 
			
		||||
| 
						 | 
				
			
			@ -1660,7 +1661,9 @@ class PubServer(BaseHTTPRequestHandler):
 | 
			
		|||
                                    curr_session, proxy_type),
 | 
			
		||||
                              daemon=True)
 | 
			
		||||
        print('Starting outbox thread')
 | 
			
		||||
        self.server.outboxThread[account_outbox_thread_name][index].start()
 | 
			
		||||
        outbox_thread = \
 | 
			
		||||
            self.server.outboxThread[account_outbox_thread_name][index]
 | 
			
		||||
        begin_thread(outbox_thread, '_post_to_outbox_thread')
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
    def _update_inbox_queue(self, nickname: str, message_json: {},
 | 
			
		||||
| 
						 | 
				
			
			@ -8082,7 +8085,8 @@ class PubServer(BaseHTTPRequestHandler):
 | 
			
		|||
                                            self.server.person_cache,
 | 
			
		||||
                                            self.server.check_actor_timeout),
 | 
			
		||||
                                      daemon=True)
 | 
			
		||||
                self.server.thrCheckActor[nickname].start()
 | 
			
		||||
                begin_thread(self.server.thrCheckActor[nickname],
 | 
			
		||||
                             '_show_person_options')
 | 
			
		||||
 | 
			
		||||
            msg = \
 | 
			
		||||
                html_person_options(self.server.default_timeline,
 | 
			
		||||
| 
						 | 
				
			
			@ -20962,7 +20966,7 @@ def run_posts_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
    """
 | 
			
		||||
    print('THREAD: Starting posts queue watchdog')
 | 
			
		||||
    posts_queue_original = httpd.thrPostsQueue.clone(run_posts_queue)
 | 
			
		||||
    httpd.thrPostsQueue.start()
 | 
			
		||||
    begin_thread(httpd.thrPostsQueue, 'run_posts_watchdog')
 | 
			
		||||
    while True:
 | 
			
		||||
        time.sleep(20)
 | 
			
		||||
        if httpd.thrPostsQueue.is_alive():
 | 
			
		||||
| 
						 | 
				
			
			@ -20970,7 +20974,7 @@ def run_posts_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
        httpd.thrPostsQueue.kill()
 | 
			
		||||
        print('THREAD: restarting posts queue')
 | 
			
		||||
        httpd.thrPostsQueue = posts_queue_original.clone(run_posts_queue)
 | 
			
		||||
        httpd.thrPostsQueue.start()
 | 
			
		||||
        begin_thread(httpd.thrPostsQueue, 'run_posts_watchdog 2')
 | 
			
		||||
        print('Restarting posts queue...')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -20979,7 +20983,7 @@ def run_shares_expire_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
    """
 | 
			
		||||
    print('THREAD: Starting shares expiry watchdog')
 | 
			
		||||
    shares_expire_original = httpd.thrSharesExpire.clone(run_shares_expire)
 | 
			
		||||
    httpd.thrSharesExpire.start()
 | 
			
		||||
    begin_thread(httpd.thrSharesExpire, 'run_shares_expire_watchdog')
 | 
			
		||||
    while True:
 | 
			
		||||
        time.sleep(20)
 | 
			
		||||
        if httpd.thrSharesExpire.is_alive():
 | 
			
		||||
| 
						 | 
				
			
			@ -20987,7 +20991,7 @@ def run_shares_expire_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
        httpd.thrSharesExpire.kill()
 | 
			
		||||
        print('THREAD: restarting shares watchdog')
 | 
			
		||||
        httpd.thrSharesExpire = shares_expire_original.clone(run_shares_expire)
 | 
			
		||||
        httpd.thrSharesExpire.start()
 | 
			
		||||
        begin_thread(httpd.thrSharesExpire, 'run_shares_expire_watchdog 2')
 | 
			
		||||
        print('Restarting shares expiry...')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -21511,7 +21515,7 @@ def run_daemon(clacks: str,
 | 
			
		|||
    httpd.thrFitness = \
 | 
			
		||||
        thread_with_trace(target=fitness_thread,
 | 
			
		||||
                          args=(base_dir, httpd.fitness), daemon=True)
 | 
			
		||||
    httpd.thrFitness.start()
 | 
			
		||||
    begin_thread(httpd.thrFitness, 'run_daemon thrFitness')
 | 
			
		||||
 | 
			
		||||
    httpd.recent_posts_cache = {}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -21523,7 +21527,7 @@ def run_daemon(clacks: str,
 | 
			
		|||
                                archive_dir,
 | 
			
		||||
                                httpd.recent_posts_cache,
 | 
			
		||||
                                httpd.maxPostsInBox), daemon=True)
 | 
			
		||||
    httpd.thrCache.start()
 | 
			
		||||
    begin_thread(httpd.thrCache, 'run_daemon thrCache')
 | 
			
		||||
 | 
			
		||||
    # number of mins after which sending posts or updates will expire
 | 
			
		||||
    httpd.send_threads_timeout_mins = send_threads_timeout_mins
 | 
			
		||||
| 
						 | 
				
			
			@ -21538,9 +21542,9 @@ def run_daemon(clacks: str,
 | 
			
		|||
        httpd.thrPostsWatchdog = \
 | 
			
		||||
            thread_with_trace(target=run_posts_watchdog,
 | 
			
		||||
                              args=(project_version, httpd), daemon=True)
 | 
			
		||||
        httpd.thrPostsWatchdog.start()
 | 
			
		||||
        begin_thread(httpd.thrPostsWatchdog, 'run_daemon thrPostWatchdog')
 | 
			
		||||
    else:
 | 
			
		||||
        httpd.thrPostsQueue.start()
 | 
			
		||||
        begin_thread(httpd.thrPostsQueue, 'run_daemon thrPostWatchdog 2')
 | 
			
		||||
 | 
			
		||||
    print('THREAD: Creating expire thread for shared items')
 | 
			
		||||
    httpd.thrSharesExpire = \
 | 
			
		||||
| 
						 | 
				
			
			@ -21551,9 +21555,11 @@ def run_daemon(clacks: str,
 | 
			
		|||
        httpd.thrSharesExpireWatchdog = \
 | 
			
		||||
            thread_with_trace(target=run_shares_expire_watchdog,
 | 
			
		||||
                              args=(project_version, httpd), daemon=True)
 | 
			
		||||
        httpd.thrSharesExpireWatchdog.start()
 | 
			
		||||
        begin_thread(httpd.thrSharesExpireWatchdog,
 | 
			
		||||
                     'run_daemon thrSharesExpireWatchdog')
 | 
			
		||||
    else:
 | 
			
		||||
        httpd.thrSharesExpire.start()
 | 
			
		||||
        begin_thread(httpd.thrSharesExpire,
 | 
			
		||||
                     'run_daemon thrSharesExpireWatchdog 2')
 | 
			
		||||
 | 
			
		||||
    httpd.max_recent_posts = max_recent_posts
 | 
			
		||||
    httpd.iconsCache = {}
 | 
			
		||||
| 
						 | 
				
			
			@ -21649,38 +21655,44 @@ def run_daemon(clacks: str,
 | 
			
		|||
        httpd.thrImportFollowing = \
 | 
			
		||||
            thread_with_trace(target=run_import_following_watchdog,
 | 
			
		||||
                              args=(project_version, httpd), daemon=True)
 | 
			
		||||
        httpd.thrImportFollowing.start()
 | 
			
		||||
        begin_thread(httpd.thrImportFollowing,
 | 
			
		||||
                     'run_daemon thrImportFollowing')
 | 
			
		||||
 | 
			
		||||
        print('THREAD: Creating inbox queue watchdog')
 | 
			
		||||
        httpd.thrWatchdog = \
 | 
			
		||||
            thread_with_trace(target=run_inbox_queue_watchdog,
 | 
			
		||||
                              args=(project_version, httpd), daemon=True)
 | 
			
		||||
        httpd.thrWatchdog.start()
 | 
			
		||||
        begin_thread(httpd.thrWatchdog, 'run_daemon thrWatchdog')
 | 
			
		||||
 | 
			
		||||
        print('THREAD: Creating scheduled post watchdog')
 | 
			
		||||
        httpd.thrWatchdogSchedule = \
 | 
			
		||||
            thread_with_trace(target=run_post_schedule_watchdog,
 | 
			
		||||
                              args=(project_version, httpd), daemon=True)
 | 
			
		||||
        httpd.thrWatchdogSchedule.start()
 | 
			
		||||
        begin_thread(httpd.thrWatchdogSchedule,
 | 
			
		||||
                     'run_daemon thrWatchdogSchedule')
 | 
			
		||||
 | 
			
		||||
        print('THREAD: Creating newswire watchdog')
 | 
			
		||||
        httpd.thrNewswireWatchdog = \
 | 
			
		||||
            thread_with_trace(target=run_newswire_watchdog,
 | 
			
		||||
                              args=(project_version, httpd), daemon=True)
 | 
			
		||||
        httpd.thrNewswireWatchdog.start()
 | 
			
		||||
        begin_thread(httpd.thrNewswireWatchdog,
 | 
			
		||||
                     'run_daemon thrNewswireWatchdog')
 | 
			
		||||
 | 
			
		||||
        print('THREAD: Creating federated shares watchdog')
 | 
			
		||||
        httpd.thrFederatedSharesWatchdog = \
 | 
			
		||||
            thread_with_trace(target=run_federated_shares_watchdog,
 | 
			
		||||
                              args=(project_version, httpd), daemon=True)
 | 
			
		||||
        httpd.thrFederatedSharesWatchdog.start()
 | 
			
		||||
        begin_thread(httpd.thrFederatedSharesWatchdog,
 | 
			
		||||
                     'run_daemon thrFederatedSharesWatchdog')
 | 
			
		||||
    else:
 | 
			
		||||
        print('Starting inbox queue')
 | 
			
		||||
        httpd.thrInboxQueue.start()
 | 
			
		||||
        begin_thread(httpd.thrInboxQueue, 'run_daemon start inbox')
 | 
			
		||||
        print('Starting scheduled posts daemon')
 | 
			
		||||
        httpd.thrPostSchedule.start()
 | 
			
		||||
        begin_thread(httpd.thrPostSchedule,
 | 
			
		||||
                     'run_daemon start scheduled posts')
 | 
			
		||||
        print('Starting federated shares daemon')
 | 
			
		||||
        httpd.thrFederatedSharesDaemon.start()
 | 
			
		||||
        begin_thread(httpd.thrFederatedSharesDaemon,
 | 
			
		||||
                     'run_daemon start federated shares')
 | 
			
		||||
 | 
			
		||||
    if client_to_server:
 | 
			
		||||
        print('Running ActivityPub client on ' +
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,6 +17,7 @@ from follow import is_following_actor
 | 
			
		|||
from follow import send_follow_request
 | 
			
		||||
from session import create_session
 | 
			
		||||
from session import set_session_for_sender
 | 
			
		||||
from threads import begin_thread
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _establish_import_session(httpd,
 | 
			
		||||
| 
						 | 
				
			
			@ -206,7 +207,8 @@ def run_import_following_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
    print('THREAD: Starting import following watchdog ' + project_version)
 | 
			
		||||
    import_following_original = \
 | 
			
		||||
        httpd.thrImportFollowing.clone(run_import_following)
 | 
			
		||||
    httpd.thrImportFollowing.start()
 | 
			
		||||
    begin_thread(httpd.thrImportFollowing,
 | 
			
		||||
                 'run_import_following_watchdog')
 | 
			
		||||
    while True:
 | 
			
		||||
        time.sleep(50)
 | 
			
		||||
        if httpd.thrImportFollowing.is_alive():
 | 
			
		||||
| 
						 | 
				
			
			@ -215,5 +217,6 @@ def run_import_following_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
        print('THREAD: restarting import following watchdog')
 | 
			
		||||
        httpd.thrImportFollowing = \
 | 
			
		||||
            import_following_original.clone(run_import_following)
 | 
			
		||||
        httpd.thrImportFollowing.start()
 | 
			
		||||
        begin_thread(httpd.thrImportFollowing,
 | 
			
		||||
                     'run_import_following_watchdog 2')
 | 
			
		||||
        print('Restarting import following...')
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										5
									
								
								inbox.py
								
								
								
								
							
							
						
						
									
										5
									
								
								inbox.py
								
								
								
								
							| 
						 | 
				
			
			@ -135,6 +135,7 @@ from content import reject_twitter_summary
 | 
			
		|||
from content import load_dogwhistles
 | 
			
		||||
from content import valid_url_lengths
 | 
			
		||||
from content import remove_script
 | 
			
		||||
from threads import begin_thread
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def cache_svg_images(session, base_dir: str, http_prefix: str,
 | 
			
		||||
| 
						 | 
				
			
			@ -4433,7 +4434,7 @@ def run_inbox_queue_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
    """
 | 
			
		||||
    print('THREAD: Starting inbox queue watchdog ' + project_version)
 | 
			
		||||
    inbox_queue_original = httpd.thrInboxQueue.clone(run_inbox_queue)
 | 
			
		||||
    httpd.thrInboxQueue.start()
 | 
			
		||||
    begin_thread(httpd.thrInboxQueue, 'run_inbox_queue_watchdog')
 | 
			
		||||
    while True:
 | 
			
		||||
        time.sleep(20)
 | 
			
		||||
        if not httpd.thrInboxQueue.is_alive() or httpd.restart_inbox_queue:
 | 
			
		||||
| 
						 | 
				
			
			@ -4442,7 +4443,7 @@ def run_inbox_queue_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
            print('THREAD: restarting inbox queue watchdog')
 | 
			
		||||
            httpd.thrInboxQueue = inbox_queue_original.clone(run_inbox_queue)
 | 
			
		||||
            httpd.inbox_queue.clear()
 | 
			
		||||
            httpd.thrInboxQueue.start()
 | 
			
		||||
            begin_thread(httpd.thrInboxQueue, 'run_inbox_queue_watchdog 2')
 | 
			
		||||
            print('Restarting inbox queue...')
 | 
			
		||||
            httpd.restart_inbox_queue_in_progress = False
 | 
			
		||||
            httpd.restart_inbox_queue = False
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,6 +19,7 @@ from utils import acct_dir
 | 
			
		|||
from utils import text_in_file
 | 
			
		||||
from utils import remove_eol
 | 
			
		||||
from threads import thread_with_trace
 | 
			
		||||
from threads import begin_thread
 | 
			
		||||
from session import create_session
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -105,7 +106,7 @@ def manual_deny_follow_request_thread(session, session_onion, session_i2p,
 | 
			
		|||
                                debug,
 | 
			
		||||
                                project_version,
 | 
			
		||||
                                signing_priv_key_pem), daemon=True)
 | 
			
		||||
    thr.start()
 | 
			
		||||
    begin_thread(thr, 'manual_deny_follow_request_thread')
 | 
			
		||||
    send_threads.append(thr)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -361,5 +362,5 @@ def manual_approve_follow_request_thread(session, session_onion, session_i2p,
 | 
			
		|||
                                project_version,
 | 
			
		||||
                                signing_priv_key_pem,
 | 
			
		||||
                                proxy_type), daemon=True)
 | 
			
		||||
    thr.start()
 | 
			
		||||
    begin_thread(thr, 'manual_approve_follow_request_thread')
 | 
			
		||||
    send_threads.append(thr)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,6 +37,7 @@ from utils import local_actor_url
 | 
			
		|||
from utils import text_in_file
 | 
			
		||||
from inbox import store_hash_tags
 | 
			
		||||
from session import create_session
 | 
			
		||||
from threads import begin_thread
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _update_feeds_outbox_index(base_dir: str, domain: str,
 | 
			
		||||
| 
						 | 
				
			
			@ -867,7 +868,7 @@ def run_newswire_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
    print('THREAD: Starting newswire watchdog')
 | 
			
		||||
    newswire_original = \
 | 
			
		||||
        httpd.thrPostSchedule.clone(run_newswire_daemon)
 | 
			
		||||
    httpd.thrNewswireDaemon.start()
 | 
			
		||||
    begin_thread(httpd.thrNewswireDaemon, 'run_newswire_watchdog')
 | 
			
		||||
    while True:
 | 
			
		||||
        time.sleep(50)
 | 
			
		||||
        if httpd.thrNewswireDaemon.is_alive():
 | 
			
		||||
| 
						 | 
				
			
			@ -876,5 +877,5 @@ def run_newswire_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
        print('THREAD: restarting newswire watchdog')
 | 
			
		||||
        httpd.thrNewswireDaemon = \
 | 
			
		||||
            newswire_original.clone(run_newswire_daemon)
 | 
			
		||||
        httpd.thrNewswireDaemon.start()
 | 
			
		||||
        begin_thread(httpd.thrNewswireDaemon, 'run_newswire_watchdog 2')
 | 
			
		||||
        print('Restarting newswire daemon...')
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										26
									
								
								posts.py
								
								
								
								
							
							
						
						
									
										26
									
								
								posts.py
								
								
								
								
							| 
						 | 
				
			
			@ -15,10 +15,10 @@ import shutil
 | 
			
		|||
import sys
 | 
			
		||||
import time
 | 
			
		||||
import random
 | 
			
		||||
from socket import error as SocketError
 | 
			
		||||
from time import gmtime, strftime
 | 
			
		||||
from collections import OrderedDict
 | 
			
		||||
from threads import thread_with_trace
 | 
			
		||||
from threads import begin_thread
 | 
			
		||||
from cache import store_person_in_cache
 | 
			
		||||
from cache import get_person_from_cache
 | 
			
		||||
from cache import expire_person_cache
 | 
			
		||||
| 
						 | 
				
			
			@ -2548,7 +2548,7 @@ def send_post(signing_priv_key_pem: str, project_version: str,
 | 
			
		|||
                                post_log, debug, http_prefix,
 | 
			
		||||
                                domain_full), daemon=True)
 | 
			
		||||
    send_threads.append(thr)
 | 
			
		||||
    thr.start()
 | 
			
		||||
    begin_thread(thr, 'send_post')
 | 
			
		||||
    return 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2967,7 +2967,7 @@ def send_signed_json(post_json_object: {}, session, base_dir: str,
 | 
			
		|||
                                post_log, debug,
 | 
			
		||||
                                http_prefix, domain_full), daemon=True)
 | 
			
		||||
    send_threads.append(thr)
 | 
			
		||||
    # thr.start()
 | 
			
		||||
    # begin_thread(thr, 'send_signed_json')
 | 
			
		||||
    return 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3272,15 +3272,9 @@ def send_to_named_addresses_thread(server, session, session_onion, session_i2p,
 | 
			
		|||
                                shared_item_federation_tokens,
 | 
			
		||||
                                signing_priv_key_pem,
 | 
			
		||||
                                proxy_type), daemon=True)
 | 
			
		||||
    try:
 | 
			
		||||
        send_thread.start()
 | 
			
		||||
    except SocketError as ex:
 | 
			
		||||
    if not begin_thread(send_thread, 'send_to_named_addresses_thread'):
 | 
			
		||||
        print('WARN: socket error while starting ' +
 | 
			
		||||
              'thread to send to named addresses. ' + str(ex))
 | 
			
		||||
        return None
 | 
			
		||||
    except ValueError as ex:
 | 
			
		||||
        print('WARN: error while starting ' +
 | 
			
		||||
              'thread to send to named addresses. ' + str(ex))
 | 
			
		||||
              'thread to send to named addresses.')
 | 
			
		||||
        return None
 | 
			
		||||
    return send_thread
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3572,15 +3566,9 @@ def send_to_followers_thread(server, session, session_onion, session_i2p,
 | 
			
		|||
                                shared_items_federated_domains,
 | 
			
		||||
                                shared_item_federation_tokens,
 | 
			
		||||
                                signing_priv_key_pem), daemon=True)
 | 
			
		||||
    try:
 | 
			
		||||
        send_thread.start()
 | 
			
		||||
    except SocketError as ex:
 | 
			
		||||
        print('WARN: socket error while starting ' +
 | 
			
		||||
              'thread to send to followers. ' + str(ex))
 | 
			
		||||
        return None
 | 
			
		||||
    except ValueError as ex:
 | 
			
		||||
    if not begin_thread(send_thread, 'send_to_followers_thread'):
 | 
			
		||||
        print('WARN: error while starting ' +
 | 
			
		||||
              'thread to send to followers. ' + str(ex))
 | 
			
		||||
              'thread to send to followers.')
 | 
			
		||||
        return None
 | 
			
		||||
    return send_thread
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,7 @@ from utils import acct_dir
 | 
			
		|||
from utils import remove_eol
 | 
			
		||||
from outbox import post_message_to_outbox
 | 
			
		||||
from session import create_session
 | 
			
		||||
from threads import begin_thread
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _update_post_schedule(base_dir: str, handle: str, httpd,
 | 
			
		||||
| 
						 | 
				
			
			@ -199,7 +200,7 @@ def run_post_schedule_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
    print('THREAD: Starting scheduled post watchdog ' + project_version)
 | 
			
		||||
    post_schedule_original = \
 | 
			
		||||
        httpd.thrPostSchedule.clone(run_post_schedule)
 | 
			
		||||
    httpd.thrPostSchedule.start()
 | 
			
		||||
    begin_thread(httpd.thrPostSchedule, 'run_post_schedule_watchdog')
 | 
			
		||||
    while True:
 | 
			
		||||
        time.sleep(20)
 | 
			
		||||
        if httpd.thrPostSchedule.is_alive():
 | 
			
		||||
| 
						 | 
				
			
			@ -208,7 +209,7 @@ def run_post_schedule_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
        print('THREAD: restarting scheduled post watchdog')
 | 
			
		||||
        httpd.thrPostSchedule = \
 | 
			
		||||
            post_schedule_original.clone(run_post_schedule)
 | 
			
		||||
        httpd.thrPostSchedule.start()
 | 
			
		||||
        begin_thread(httpd.thrPostSchedule, 'run_post_schedule_watchdog')
 | 
			
		||||
        print('Restarting scheduled posts...')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,6 +45,7 @@ from filters import is_filtered_globally
 | 
			
		|||
from siteactive import site_is_active
 | 
			
		||||
from content import get_price_from_string
 | 
			
		||||
from blocking import is_blocked
 | 
			
		||||
from threads import begin_thread
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _load_dfc_ids(base_dir: str, system_language: str,
 | 
			
		||||
| 
						 | 
				
			
			@ -1610,7 +1611,8 @@ def run_federated_shares_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
    print('THREAD: Starting federated shares watchdog')
 | 
			
		||||
    federated_shares_original = \
 | 
			
		||||
        httpd.thrPostSchedule.clone(run_federated_shares_daemon)
 | 
			
		||||
    httpd.thrFederatedSharesDaemon.start()
 | 
			
		||||
    begin_thread(httpd.thrFederatedSharesDaemon,
 | 
			
		||||
                 'run_federated_shares_watchdog')
 | 
			
		||||
    while True:
 | 
			
		||||
        time.sleep(55)
 | 
			
		||||
        if httpd.thrFederatedSharesDaemon.is_alive():
 | 
			
		||||
| 
						 | 
				
			
			@ -1619,7 +1621,8 @@ def run_federated_shares_watchdog(project_version: str, httpd) -> None:
 | 
			
		|||
        print('THREAD: restarting federated shares watchdog')
 | 
			
		||||
        httpd.thrFederatedSharesDaemon = \
 | 
			
		||||
            federated_shares_original.clone(run_federated_shares_daemon)
 | 
			
		||||
        httpd.thrFederatedSharesDaemon.start()
 | 
			
		||||
        begin_thread(httpd.thrFederatedSharesDaemon,
 | 
			
		||||
                     'run_federated_shares_watchdog 2')
 | 
			
		||||
        print('Restarting federated shares daemon...')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										20
									
								
								threads.py
								
								
								
								
							
							
						
						
									
										20
									
								
								threads.py
								
								
								
								
							| 
						 | 
				
			
			@ -11,6 +11,7 @@ import threading
 | 
			
		|||
import sys
 | 
			
		||||
import time
 | 
			
		||||
import datetime
 | 
			
		||||
from socket import error as SocketError
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class thread_with_trace(threading.Thread):
 | 
			
		||||
| 
						 | 
				
			
			@ -163,3 +164,22 @@ def remove_dormant_threads(base_dir: str, threads_list: [], debug: bool,
 | 
			
		|||
        except OSError:
 | 
			
		||||
            print('EX: remove_dormant_threads unable to write ' +
 | 
			
		||||
                  send_log_filename)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def begin_thread(thread, calling_function: str) -> bool:
 | 
			
		||||
    """Start a thread
 | 
			
		||||
    """
 | 
			
		||||
    try:
 | 
			
		||||
        if not thread.is_alive():
 | 
			
		||||
            thread.start()
 | 
			
		||||
    except SocketError as ex:
 | 
			
		||||
        print('WARN: socket error while starting ' +
 | 
			
		||||
              'thread. ' + calling_function + ' ' + str(ex))
 | 
			
		||||
        return False
 | 
			
		||||
    except ValueError as ex:
 | 
			
		||||
        print('WARN: value error while starting ' +
 | 
			
		||||
              'thread. ' + calling_function + ' ' + str(ex))
 | 
			
		||||
        return False
 | 
			
		||||
    except BaseException:
 | 
			
		||||
        pass
 | 
			
		||||
    return True
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue