From 068d6248e9890f90424829fddc104d1d13726732 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 11 Dec 2024 15:41:29 +0000 Subject: [PATCH] Add changes for f53146e76631fa4a3acedfb75c3ce695c49ededf --- Contribution/Development.html | 2 +- Contribution/Release.html | 2 +- Contribution/man_page_template.html | 2 +- Explanation/SarraPluginDev.html | 4 +- How2Guides/source.html | 2 +- How2Guides/subscriber.html | 2 +- Reference/flowcb.html | 119 ++++++--- Reference/sr3.1.html | 2 +- Reference/sr3_cpump.1.html | 2 +- Reference/sr3_credentials.7.html | 2 +- Reference/sr3_options.7.html | 2 +- Reference/sr3_post.1.html | 2 +- Reference/sr_post.7.html | 2 +- Tutorials/Install.html | 2 +- _modules/sarracenia/flowcb/send/email.html | 225 ++++++++++++------ _sources/Explanation/SarraPluginDev.rst.txt | 2 +- .../fr/Explication/SarraPluginDev.rst.txt | 2 +- fr/CommentFaire/source.html | 2 +- fr/CommentFaire/subscriber.html | 2 +- "fr/Contribution/D\303\251veloppement.html" | 2 +- fr/Contribution/Publication.html | 2 +- .../mod\303\250le_de_page_man.html" | 2 +- fr/Explication/SarraPluginDev.html | 4 +- fr/Reference/sr3.1.html | 2 +- fr/Reference/sr3_cpump.1.html | 2 +- fr/Reference/sr3_credentials.7.html | 2 +- fr/Reference/sr3_options.7.html | 2 +- fr/Reference/sr3_post.1.html | 2 +- fr/Reference/sr_post.7.html | 2 +- fr/Tutoriel/Installer.html | 2 +- genindex.html | 8 + objects.inv | Bin 58745 -> 58811 bytes searchindex.js | 2 +- 33 files changed, 285 insertions(+), 129 deletions(-) diff --git a/Contribution/Development.html b/Contribution/Development.html index 96b67250b..c41351544 100644 --- a/Contribution/Development.html +++ b/Contribution/Development.html @@ -158,7 +158,7 @@

MetPX-Sarracenia Developer’s Guide

3.00.57rc0

date:
-

Dec 09, 2024

+

Dec 11, 2024

diff --git a/Contribution/Release.html b/Contribution/Release.html index 50800ccc5..c30f4b04f 100644 --- a/Contribution/Release.html +++ b/Contribution/Release.html @@ -129,7 +129,7 @@

Releasing MetPX-Sarracenia

3.00.57rc0

date:
-

Dec 09, 2024

+

Dec 11, 2024

diff --git a/Contribution/man_page_template.html b/Contribution/man_page_template.html index 9f699da05..a86f99cea 100644 --- a/Contribution/man_page_template.html +++ b/Contribution/man_page_template.html @@ -117,7 +117,7 @@

sr_title

1

Date:
-

Dec 09, 2024

+

Dec 11, 2024

Version:

3.00.57rc0

diff --git a/Explanation/SarraPluginDev.html b/Explanation/SarraPluginDev.html index 4e00f3b8a..2a49ff8f7 100644 --- a/Explanation/SarraPluginDev.html +++ b/Explanation/SarraPluginDev.html @@ -136,7 +136,7 @@

Revision Record

3.00.57rc0

date:
-

Dec 09, 2024

+

Dec 11, 2024

@@ -951,7 +951,7 @@

Accessing accept/reject “masks”self.o.masks[msg['_mask_index']]. The last item in the mask contains the arguments from the accept statement:

-

diff --git a/Reference/flowcb.html b/Reference/flowcb.html index 2a05c7766..dc7f205cd 100644 --- a/Reference/flowcb.html +++ b/Reference/flowcb.html @@ -253,6 +253,7 @@
  • sarracenia.flowcb.poll.usgs
  • sarracenia.flowcb.post
  • sarracenia.flowcb.send.email
  • @@ -375,14 +376,22 @@
  • sarracenia.flowcb.poll.noaa_hydrometric

  • sarracenia.flowcb.poll.usgs

  • sarracenia.flowcb.post

  • -
  • sarracenia.flowcb.send.email

  • -
  • sarracenia.flowcb.post.message

  • -
  • sarracenia.flowcb.send

  • -
  • sarracenia.flowcb.wistree

  • -
  • sarracenia.flowcb.work

  • -
  • sarracenia.flowcb.work.age

  • -
  • sarracenia.flowcb.work.rxpipe

  • -
  • sarracenia.flowcb.v2wrapper

  • +
  • sarracenia.flowcb.send.email

    + +
  • +
  • sarracenia.flowcb.post.message

  • +
  • sarracenia.flowcb.send

  • +
  • sarracenia.flowcb.wistree

  • +
  • sarracenia.flowcb.work

  • +
  • sarracenia.flowcb.work.age

  • +
  • sarracenia.flowcb.work.rxpipe

  • +
  • sarracenia.flowcb.v2wrapper

  • @@ -2129,29 +2138,64 @@

    sarracenia.flowcb.po

    sarracenia.flowcb.send.email

    -

    sarracenia.flowcb.send.email.Email is an sr3 sender plugin. Once a file is -posted, the plugin matches the topic(what the filename begins with) to the -file name and sends the appropriate emails.

    -
    -
    Usage:
      -
    1. Need the following variables in an sr_sender config defined: file_email_to, file_email_relay -Optionally, you can also provide a sender name/email as file_email_form:

      +
      +

      Email Sender

      +

      sarracenia.flowcb.send.email.Email is an sr3 sender plugin. It will send the contents of a +file in the body of an email to the configured recipient(s).

      +

      The email subject will be the name of the file being sent.

      +
      +

      Usage:

      -

      file_email_to AACN27 muhammad.taseer@canada.ca, test@test.com -file_email_relay email.relay.server.ca -file_email_from santa@canada.ca

      -
      -
    2. +
      1. In the config file, include the following line:

        -
        -

        callback send.email

        -
        +
        callback send.email
        +
        +
        +
      2. +
      +

      And define the email server

      +
      sendTo
      +
      +
      +
        +
      1. Define the email server (required) using the sendTo option, and the sender’s email address (optional) +in the config file:

        +
        sendTo      smtp://email.relay.server.ca
        +
        +email_from  santa@canada.ca
        +
        +# or, with a "human readable" sender name:
        +
        +email_from  Santa Claus <santa@canada.ca>
        +
        +
        +
      2. +
      3. Configure recipients using accept statements. You must have at least one recipient per accept statement. +Multiple recipients can be specified by separating each address by a comma.

        +
        accept .*AACN27.* test@example.com
        +accept .*SXCN.*   user1@example.com, user2@example.com
        +accept .*CACN.* DESTFN=A_CACN_Bulletin  me@ssc-spc.gc.ca,you@ssc-spc.gc.ca,someone@ssc-spc.gc.ca
        +
        +
      4. -
      5. sr_sender foreground emails.conf

      +
      +

      To change the filename that is sent in the subject, you can use the filename option, a renamer plugin or +DESTFN/DESTFNSCRIPT on a per-accept basis. The email_subject_prepend option can be used to add text before +the filename in the email subject. For example:

      +
      email_subject_prepend  Sent by Sarracenia:
      +
      +
      +
      +
      Future Improvement Ideas:
        +
      • SMTP on different ports and with authentication

      • +
      • Attach the file instead of putting the contents in the body (useful for binary files)

      • +

      Original Author: Wahaj Taseer - June, 2019

      +
    +
    class sarracenia.flowcb.send.email.Email(options)[source]
    @@ -2161,11 +2205,24 @@

    sarracenia.flowcb.po __init__(options)[source]

    +
    +
    +after_work(worklist)[source]
    +

    This plugin can also be used in a sarra/subscriber, mostly for testing purposes.

    +
    + +
    +
    +send(msg)[source]
    +

    Send an email to each recipient defined in the config file for a particular accept statement. +The file contents are sent in the body of the email. The subject is the filename.

    +
    +
    -

    sarracenia.flowcb.post.message

    +

    sarracenia.flowcb.post.message

    class sarracenia.flowcb.post.message.Message(options)[source]
    @@ -2186,15 +2243,15 @@

    sarracenia.flowcb.po

    -

    sarracenia.flowcb.send

    +

    sarracenia.flowcb.send

    plugins intended for on_message entry_point.

    (when messages are received.)

    -

    sarracenia.flowcb.wistree

    +

    sarracenia.flowcb.wistree

    -

    sarracenia.flowcb.work

    +

    sarracenia.flowcb.work

    plugins that use primarily the after_work entry point, normally executed after the file transfer (either send or get) has completed.

    usually such plugins will contain a loop:

    @@ -2205,7 +2262,7 @@

    sarracenia.flowcb.wi

    to operate on all the files transferrred or processed successfully.

    -

    sarracenia.flowcb.work.age

    +

    sarracenia.flowcb.work.age

    print the age of files written (compare current time to mtime of message.) usage:

    flowcb work.age

    @@ -2217,7 +2274,7 @@

    sarracenia.flowcb.wi

    -

    sarracenia.flowcb.work.rxpipe

    +

    sarracenia.flowcb.work.rxpipe

    class sarracenia.flowcb.work.rxpipe.Rxpipe(options)[source]
    @@ -2236,7 +2293,7 @@

    sarracenia.flowcb.wi

    -

    sarracenia.flowcb.v2wrapper

    +

    sarracenia.flowcb.v2wrapper

    class sarracenia.flowcb.v2wrapper.V2Wrapper(o)[source]
    diff --git a/Reference/sr3.1.html b/Reference/sr3.1.html index 943ce3edc..99aa49893 100644 --- a/Reference/sr3.1.html +++ b/Reference/sr3.1.html @@ -115,7 +115,7 @@

    sr3 Sarracenia CLI

    1

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/Reference/sr3_cpump.1.html b/Reference/sr3_cpump.1.html index bf7c9d544..1b240657b 100644 --- a/Reference/sr3_cpump.1.html +++ b/Reference/sr3_cpump.1.html @@ -112,7 +112,7 @@

    sr_shovel in C

    1

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/Reference/sr3_credentials.7.html b/Reference/sr3_credentials.7.html index de9cc5602..ae3d4007f 100644 --- a/Reference/sr3_credentials.7.html +++ b/Reference/sr3_credentials.7.html @@ -109,7 +109,7 @@

    SR3 Credential File Format

    7

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/Reference/sr3_options.7.html b/Reference/sr3_options.7.html index 8d49d541c..6fd18964f 100644 --- a/Reference/sr3_options.7.html +++ b/Reference/sr3_options.7.html @@ -113,7 +113,7 @@

    SR3 Configuration File Format

    7

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/Reference/sr3_post.1.html b/Reference/sr3_post.1.html index 65d4736be..84a67e76a 100644 --- a/Reference/sr3_post.1.html +++ b/Reference/sr3_post.1.html @@ -113,7 +113,7 @@

    Publish the Availability of Files

    1

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/Reference/sr_post.7.html b/Reference/sr_post.7.html index 3a9bd3d91..1af501ded 100644 --- a/Reference/sr_post.7.html +++ b/Reference/sr_post.7.html @@ -118,7 +118,7 @@

    Sarracenia v03 Notification Message Format/Protocol

    7

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/Tutorials/Install.html b/Tutorials/Install.html index 5d7f73d3c..c6d36fb9f 100644 --- a/Tutorials/Install.html +++ b/Tutorials/Install.html @@ -119,7 +119,7 @@

    Revision Record

    3.00.57rc0

    date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    diff --git a/_modules/sarracenia/flowcb/send/email.html b/_modules/sarracenia/flowcb/send/email.html index fd037ea93..b0e86ae54 100644 --- a/_modules/sarracenia/flowcb/send/email.html +++ b/_modules/sarracenia/flowcb/send/email.html @@ -83,25 +83,54 @@

    Source code for sarracenia.flowcb.send.email

     """
    -    sarracenia.flowcb.send.email.Email is an sr3 sender plugin. Once a file is 
    -    posted, the plugin matches the topic(what the filename begins with) to the
    -    file name and sends the appropriate emails.
    +Email Sender
    +============
     
    -    Usage:
    -      1. Need the following variables in an sr_sender config defined: file_email_to, file_email_relay
    -         Optionally, you can also provide a sender name/email as file_email_form:
    +``sarracenia.flowcb.send.email.Email`` is an sr3 sender plugin. It will send the *contents* of a 
    +file in the *body* of an email to the configured recipient(s).
     
    -            file_email_to AACN27 muhammad.taseer@canada.ca, test@test.com
    -            file_email_relay email.relay.server.ca
    -            file_email_from santa@canada.ca
    +The email subject will be the name of the file being sent.
     
    -      2. In the config file, include the following line:
    +Usage:
    +^^^^^^
     
    -            callback send.email
    +    1. In the config file, include the following line: ::
     
    -      3. sr_sender foreground emails.conf
    +        callback send.email
     
    -    Original Author: Wahaj Taseer - June, 2019
    +    And define the email server ::
    +
    +        sendTo
    +
    +    2. Define the email server (required) using the ``sendTo`` option, and the sender's email address (optional)
    +       in the config file: ::
    +
    +        sendTo      smtp://email.relay.server.ca
    +
    +        email_from  santa@canada.ca
    +
    +        # or, with a "human readable" sender name:
    +
    +        email_from  Santa Claus <santa@canada.ca>
    +    
    +    3. Configure recipients using accept statements. You must have at least one recipient per accept statement.
    +       Multiple recipients can be specified by separating each address by a comma. ::
    +    
    +        accept .*AACN27.* test@example.com
    +        accept .*SXCN.*   user1@example.com, user2@example.com
    +        accept .*CACN.* DESTFN=A_CACN_Bulletin  me@ssc-spc.gc.ca,you@ssc-spc.gc.ca,someone@ssc-spc.gc.ca
    +
    +To change the filename that is sent in the subject, you can use the filename option, a renamer plugin or
    +DESTFN/DESTFNSCRIPT on a per-accept basis. The ``email_subject_prepend`` option can be used to add text before
    +the filename in the email subject. For example: ::
    +
    +    email_subject_prepend  Sent by Sarracenia: 
    +
    +Future Improvement Ideas:
    +  - SMTP on different ports and with authentication
    +  - Attach the file instead of putting the contents in the body (useful for binary files)
    +    
    +Original Author: Wahaj Taseer - June, 2019
     """
     
     from email.message import EmailMessage
    @@ -122,66 +151,128 @@ 

    Source code for sarracenia.flowcb.send.email

    def __init__(self, options):
     
             super().__init__(options,logger)
    -        self.o.add_option('file_email_command', 'str', '/usr/bin/mail')
    -        self.o.add_option('file_email_to', 'list')
    -        self.o.add_option('file_email_from', 'str')
    -        self.o.add_option('file_email_relay', 'str')
    - - + self.o.add_option('email_from', 'str', default_value='') + self.o.add_option('email_subject_prepend', 'str', default_value='') + + # Parse accept/reject mask arguments into email recipient lists + try: + for mask in self.o.masks: + # mask[4] == True if accept, False if reject, only need to parse for accept + if len(mask[-1]) > 0 and mask[4]: + # logger.debug(f"mask args before parse: {mask[-1]}") + arg_string = ''.join(mask[-1]).replace(' ', '').strip() + recipients = arg_string.split(',') + mask[-1].clear() + for recipient in recipients: + if '@' not in recipient: + logger.error(f"Invalid email recipient: {recipient} for accept {mask[0]}") + else: + mask[-1].append(recipient) + # logger.debug(f"mask args after parse: {mask[-1]}") + elif mask[4]: + logger.warning(f"No email recipients defined for accept {mask[0]}") + except Exception as e: + logger.critical(f"Failed to parse recipients from mask: {mask}") + raise e + + # Server must be defined + if not self.o.sendTo or len(self.o.sendTo) == 0: + raise Exception("No email server (sendTo) is defined in the config!") + # sendTo --> email_server + self.email_server = self.o.sendTo.strip('/') + if '//' in self.email_server: + self.email_server = self.email_server[self.email_server.find('//') + 2 :] + logger.debug(f"Using email server: {self.email_server} (sendTo was: {self.o.sendTo})") + + # Add trailing space to email_subject_prepend + if len(self.o.email_subject_prepend) > 0: + self.o.email_subject_prepend += ' '
    + + +
    +[docs] + def after_work(self, worklist): + """ This plugin can also be used in a sarra/subscriber, mostly for testing purposes. + """ + if self.o.component != 'sender': + for msg in worklist.ok: + actual_baseDir = self.o.baseDir + actual_relPath = msg['relPath'] + msg['relPath'] = os.path.join(msg['new_dir'], msg['new_file']) + self.o.baseDir = msg['new_dir'] + + self.send(msg) + + self.o.baseDir = actual_baseDir + msg['relPath'] = actual_relPath
    + + +
    +[docs] def send(self, msg): - - # have a list of email destinations... - logger.debug("email: %s" % self.o.file_email_to) + """ Send an email to each recipient defined in the config file for a particular accept statement. + The file contents are sent in the body of the email. The subject is the filename. + """ + if not msg['relPath'].startswith(self.o.baseDir): ipath = os.path.normpath(f"{self.o.baseDir}/{msg['relPath']}") else: ipath = os.path.normpath(f"{msg['relPath']}") - # loop over all the variables from config file, if files match, send via email - for header in self.o.file_email_to: - file_type, emails = header.split(' ', 1) - emails = [x.strip(' ') for x in emails.split(',')] - - # check if the file arrived matches any email rules - if re.search('^' + file_type + '.*', msg['new_file']): - - for recipient in emails: - logger.debug('sending file %s to %s' % (ipath, recipient)) - - with open(ipath) as fp: - emsg = EmailMessage() - emsg.set_content(fp.read()) - - try: - sender = self.o.file_email_from - if not sender: - sender = 'sarracenia-emailer' - except AttributeError: - sender = 'sarracenia-emailer' - - logger.debug("Using sender email: " + sender) - - emsg['Subject'] = msg['new_file'] - emsg['From'] = sender - emsg['To'] = recipient - - try: - email_relay = self.o.file_email_relay - if not email_relay: - raise AttributeError() - except AttributeError: - logger.error( - 'file_email_relay config NOT defined, please define an SMTP (relay) server' - ) - - logger.debug("Using email relay server: " + email_relay) - s = smtplib.SMTP(email_relay) - s.send_message(emsg) - s.quit() - - logger.info('sent file %s to %s' % (ipath, recipient)) - - return True
    + if '_mask_index' not in msg: + logger.error("Recipients unknown, can't email file {ipath}") + # negative return == permanent failure, don't retry + return -1 + + # Get list of recipients for this message, from the mask that matched the filename/path + recipients = self.o.masks[msg['_mask_index']][-1] + + # Prepare the email message + emsg = EmailMessage() + try: + with open(ipath) as fp: + emsg.set_content(fp.read()) + except Exception as e: + logger.error(f"Failed to read {ipath}, can't send to {recipients}") + # No retry if the file doesn't exist + return -1 + + emsg['Subject'] = self.o.email_subject_prepend + msg['new_file'] + + # if not set in the config, just don't set From, the From address will usually be derived from the hostname + if self.o.email_from and len(self.o.email_from) > 0: + emsg['From'] = self.o.email_from + + # if sending to any one recipient fails, we will return False, triggering a retry. + all_ok = True + for recipient in recipients: + if '@' not in recipient: + logger.error(f"Cannot send {ipath} to recipient {recipient}. Email address is invalid!") + continue + + try: + logstr = f"file {ipath} to {recipient} with subject {emsg['Subject']}" + logger.debug(f'sending {logstr} from {self.o.email_from} using server {self.email_server}') + + if 'To' in emsg: + del emsg['To'] + emsg['To'] = recipient + logger.debug(emsg) + + s = smtplib.SMTP(self.email_server) + s.send_message(emsg) + s.quit() + + logger.info(f'Sent file {logstr}') + + except Exception as e: + logger.error(f'failed to send {logstr} from {self.o.email_from} using server {self.email_server}' + + f' because {e}') + logger.debug('Exception details:', exc_info=True) + all_ok = False + + return all_ok + diff --git a/_sources/Explanation/SarraPluginDev.rst.txt b/_sources/Explanation/SarraPluginDev.rst.txt index 8c0966a42..ad6bdb381 100644 --- a/_sources/Explanation/SarraPluginDev.rst.txt +++ b/_sources/Explanation/SarraPluginDev.rst.txt @@ -918,7 +918,7 @@ The mask can be accessed with ``self.o.masks[msg['_mask_index']]``. The last ite .. code-block:: python - mask = self.o.masks[msg['_mask_index'] + mask = self.o.masks[msg['_mask_index']] print(mask[-1]) # --> [ 'your_text=here', 'from_accept_abc' ] Why v3 API should be used whenever possible diff --git a/_sources/fr/Explication/SarraPluginDev.rst.txt b/_sources/fr/Explication/SarraPluginDev.rst.txt index bff5c2388..cdd7e7e6e 100644 --- a/_sources/fr/Explication/SarraPluginDev.rst.txt +++ b/_sources/fr/Explication/SarraPluginDev.rst.txt @@ -799,7 +799,7 @@ Le mask est accessible avec ``self.o.masks[msg['_mask_index']]``. Le dernier él .. code-block:: python - mask = self.o.masks[msg['_mask_index'] + mask = self.o.masks[msg['_mask_index']] print(mask[-1]) # --> [ 'votre_text=ici', 'from_accept_abc' ] Pourquoi l’API v3 doit être utilisée dans la mesure du possible diff --git a/fr/CommentFaire/source.html b/fr/CommentFaire/source.html index 188bf32fe..f9f0f03ef 100644 --- a/fr/CommentFaire/source.html +++ b/fr/CommentFaire/source.html @@ -129,7 +129,7 @@

    Enregistrement de révision

    3.00.57rc0

    date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Une pompe de données Sarracenia est un serveur Web (ou sftp) avec des notifications pour que les diff --git a/fr/CommentFaire/subscriber.html b/fr/CommentFaire/subscriber.html index ffadf9403..cd2bea1bc 100644 --- a/fr/CommentFaire/subscriber.html +++ b/fr/CommentFaire/subscriber.html @@ -118,7 +118,7 @@

    Enregistrement de révision

    3.00.57rc0

    date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    diff --git "a/fr/Contribution/D\303\251veloppement.html" "b/fr/Contribution/D\303\251veloppement.html" index 8aa39ae4d..a11901efa 100644 --- "a/fr/Contribution/D\303\251veloppement.html" +++ "b/fr/Contribution/D\303\251veloppement.html" @@ -125,7 +125,7 @@

    Guide du développeur MetPX-Sarracenia

    3.00.57rc0

    date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    diff --git a/fr/Contribution/Publication.html b/fr/Contribution/Publication.html index bebf6b3d7..df21fb815 100644 --- a/fr/Contribution/Publication.html +++ b/fr/Contribution/Publication.html @@ -120,7 +120,7 @@

    Publier une Version de MetPX-Sarracenia

    3.00.57rc0

    date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    diff --git "a/fr/Contribution/mod\303\250le_de_page_man.html" "b/fr/Contribution/mod\303\250le_de_page_man.html" index 8397355bb..3a3b50155 100644 --- "a/fr/Contribution/mod\303\250le_de_page_man.html" +++ "b/fr/Contribution/mod\303\250le_de_page_man.html" @@ -117,7 +117,7 @@

    sr_titre

    1

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/fr/Explication/SarraPluginDev.html b/fr/Explication/SarraPluginDev.html index 4d21993ad..98c85e810 100644 --- a/fr/Explication/SarraPluginDev.html +++ b/fr/Explication/SarraPluginDev.html @@ -120,7 +120,7 @@

    Travailler avec des plugins

    3.00.57rc0

    date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    @@ -852,7 +852,7 @@

    Accéder aux « masques » d’accept/rejectself.o.masks[msg['_mask_index']]. Le dernier élément du mask contient les arguments de l’instruction accept :

    -
    mask = self.o.masks[msg['_mask_index']
    +
    mask = self.o.masks[msg['_mask_index']]
     print(mask[-1]) # --> [ 'votre_text=ici', 'from_accept_abc' ]
     
    diff --git a/fr/Reference/sr3.1.html b/fr/Reference/sr3.1.html index 65b027ab8..3c125098e 100644 --- a/fr/Reference/sr3.1.html +++ b/fr/Reference/sr3.1.html @@ -112,7 +112,7 @@

    sr3 Sarracenia CLI

    1

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/fr/Reference/sr3_cpump.1.html b/fr/Reference/sr3_cpump.1.html index 211520986..d11827df8 100644 --- a/fr/Reference/sr3_cpump.1.html +++ b/fr/Reference/sr3_cpump.1.html @@ -112,7 +112,7 @@

    sr_shovel en C

    1

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/fr/Reference/sr3_credentials.7.html b/fr/Reference/sr3_credentials.7.html index 4dcf50712..7927cf103 100644 --- a/fr/Reference/sr3_credentials.7.html +++ b/fr/Reference/sr3_credentials.7.html @@ -112,7 +112,7 @@

    SR3 Credential: Format du Fichier

    7

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/fr/Reference/sr3_options.7.html b/fr/Reference/sr3_options.7.html index 5d7a22ecf..cc14f8a2a 100644 --- a/fr/Reference/sr3_options.7.html +++ b/fr/Reference/sr3_options.7.html @@ -112,7 +112,7 @@

    Format de fichier de configuration SR3

    7

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/fr/Reference/sr3_post.1.html b/fr/Reference/sr3_post.1.html index 7b83e349c..c29b754fb 100644 --- a/fr/Reference/sr3_post.1.html +++ b/fr/Reference/sr3_post.1.html @@ -112,7 +112,7 @@

    Publie la Disponibilitée d’un fichier aux abonnés.

    1

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/fr/Reference/sr_post.7.html b/fr/Reference/sr_post.7.html index 5291e19b3..699c586df 100644 --- a/fr/Reference/sr_post.7.html +++ b/fr/Reference/sr_post.7.html @@ -112,7 +112,7 @@

    Format/Protocole de messages d’annonce Sarracenia

    7

    Date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    Version:

    3.00.57rc0

    diff --git a/fr/Tutoriel/Installer.html b/fr/Tutoriel/Installer.html index 3c0745c94..9dff1b50c 100644 --- a/fr/Tutoriel/Installer.html +++ b/fr/Tutoriel/Installer.html @@ -118,7 +118,7 @@

    Enregistrement de révision

    3.00.57rc0

    date:
    -

    Dec 09, 2024

    +

    Dec 11, 2024

    diff --git a/genindex.html b/genindex.html index d6ed6a231..e986e3fa3 100644 --- a/genindex.html +++ b/genindex.html @@ -333,7 +333,11 @@

    A

  • after_post() (sarracenia.flowcb.retry.Retry method)
  • after_work() (sarracenia.flowcb.retry.Retry method) + +
    • Age (class in sarracenia.flowcb.work.age) @@ -1617,7 +1621,11 @@

      S

    • Scheduled (class in sarracenia.flowcb.scheduled)
    • send() (sarracenia.flow.Flow method) + +
    • Sender (class in sarracenia.flow.sender)
    • set() (sarracenia.filemetadata.FileMetadata method) diff --git a/objects.inv b/objects.inv index 6c2311c092ad2ef7430509ddb07f9c77049c495a..654d9c742911248a1e36750ee19382df6cfbc9d1 100644 GIT binary patch delta 55545 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 delta 55485 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�eC;4eKfccUbA^@fP=Icx$aAw$!H9;iV?c6=Cx6G=fZR zHeZ~no6{X?YRNdGO@1za&azR#CikPaV@@8HM%byr<%m4FIqcvQ@Tkpd8TW*rx;eSI zJw3vd0+UXrymy>TcxHzmFtmXupTpp5sqGI$^>cH_g24u+xe)Zpe@AuI1{&_fR7*v* zg@&R142EC{b#GbI5uEB^tA+>K?i6cSo#4JWE>Pq0yM^Bqr|MyUf<%GA$Tng3uoLR0M87jQ;L)G0XQZU$D&&MTy2JG2h=z}Lhnr5 zE~=IVVv)%}?t(N1a!~G!cu|1oA%v}Mqr-&lZB2EgF0JXxo#35A!K?>ZMlrSH>>|-t ztN=H)pc3c}a=3hdYnn$AmT`{2n1jp?Ot>p$Ty2(CE;}lz-q<%qU2}>}G=pW5%yP+? z33Y$}A9@mO_ytA_V19*pGCR40=AcD&sHnPIwI;YcX=$+X^|)y1{Dmu7C7ZuF!F{JT ze)=$~2-?Fdp))E?*dH3_9(0Vzr@s@U69ceE6UT`yg}DqAv*wwK>RuJ6CHexq(v$xO HU;}_uNymmc diff --git a/searchindex.js b/searchindex.js index b5799384e..95a7cefaa 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"-h|\u2013help": [[64, "h-help"], [129, "h-help"]], ".sr\u00a7 suffix": [[15, "sr-suffix"]], "1.1\u00a0\u00a0\u00a0Assumptions/Constraints": [[2, "assumptions-constraints"]], "1.1\u00a0\u00a0\u00a0Hypoth\u00e8ses/contraintes": [[91, "hypotheses-contraintes"]], "1.2\u00a0\u00a0\u00a0Nombre de commutateurs": [[91, "nombre-de-commutateurs"]], "1.2\u00a0\u00a0\u00a0Number of Data Pumps": [[2, "number-of-data-pumps"]], "1.3\u00a0\u00a0\u00a0AMQP Feature Selection": [[2, "amqp-feature-selection"]], "1.3\u00a0\u00a0\u00a0S\u00e9lection des fonctionnalit\u00e9s AMQP": [[91, "selection-des-fonctionnalites-amqp"]], "1.4\u00a0\u00a0\u00a0Application": [[2, "application"], [91, "application"]], "1.5.1\u00a0\u00a0\u00a0Routage des publications": [[91, "routage-des-publications"]], "1.5.1\u00a0\u00a0\u00a0Routing Posts": [[2, "routing-posts"]], "1.5.2\u00a0\u00a0\u00a0Rapports de routage": [[91, "rapports-de-routage"]], "1.5.2\u00a0\u00a0\u00a0Routing Logs": [[2, "routing-logs"]], "1.5\u00a0\u00a0\u00a0Routage": [[91, "routage"]], "1.5\u00a0\u00a0\u00a0Routing": [[2, "routing"]], "1.6.1\u00a0\u00a0\u00a0Users, Queues & Exchanges": [[2, "users-queues-exchanges"]], "1.6.1\u00a0\u00a0\u00a0Utilisateurs, files d\u2019attente et \u00e9changes": [[91, "utilisateurs-files-dattente-et-echanges"]], "1.6.2\u00a0\u00a0\u00a0Pre-Validation": [[2, "pre-validation"]], "1.6.2\u00a0\u00a0\u00a0Pr\u00e9-validation": [[91, "pre-validation"]], "1.6.3\u00a0\u00a0\u00a0Post-Validation": [[2, "post-validation"], [91, "post-validation"]], "1.6.4\u00a0\u00a0\u00a0Report Validation": [[2, "report-validation"]], "1.6.4\u00a0\u00a0\u00a0Validation du rapport": [[91, "validation-du-rapport"]], "1.6.5\u00a0\u00a0\u00a0Private vs. Public Data Transfer": [[2, "private-vs-public-data-transfer"]], "1.6.5\u00a0\u00a0\u00a0Transfert de donn\u00e9es priv\u00e9 vs public": [[91, "transfert-de-donnees-prive-vs-public"]], "1.6.6\u00a0\u00a0\u00a0Acc\u00e8s priv\u00e9 HTTPS": [[91, "acces-prive-https"]], "1.6.6\u00a0\u00a0\u00a0HTTPS Private Access": [[2, "https-private-access"]], "1.6\u00a0\u00a0\u00a0Mod\u00e8le de s\u00e9curit\u00e9": [[91, "modele-de-securite"]], "1.6\u00a0\u00a0\u00a0Security Model": [[2, "security-model"]], "1.7.1\u00a0\u00a0\u00a0Autonome": [[91, "autonome"]], "1.7.1\u00a0\u00a0\u00a0Standalone": [[2, "standalone"]], "1.7.2\u00a0\u00a0\u00a0DDSR : Configuration de commutation/routage": [[91, "ddsr-configuration-de-commutation-routage"]], "1.7.2\u00a0\u00a0\u00a0DDSR: Switching/Routing Configuration": [[2, "ddsr-switching-routing-configuration"]], "1.7.3\u00a0\u00a0\u00a0DDSR ind\u00e9pendant": [[91, "ddsr-independant"]], "1.7.3\u00a0\u00a0\u00a0Independent DDSR": [[2, "independent-ddsr"]], "1.7.4\u00a0\u00a0\u00a0Courtier partag\u00e9 DDSR": [[91, "courtier-partage-ddsr"]], "1.7.4\u00a0\u00a0\u00a0Shared Broker DDSR": [[2, "shared-broker-ddsr"]], "1.7.5\u00a0\u00a0\u00a0DD : Configuration de la diffusion des donn\u00e9es (AKA : Data Mart)": [[91, "dd-configuration-de-la-diffusion-des-donnees-aka-data-mart"]], "1.7.5\u00a0\u00a0\u00a0DD: Data Dissemination Configuration (AKA: Data Mart)": [[2, "dd-data-dissemination-configuration-aka-data-mart"]], "1.7.6\u00a0\u00a0\u00a0DD ind\u00e9pendant": [[91, "dd-independant"]], "1.7.6\u00a0\u00a0\u00a0Independent DD": [[2, "independent-dd"]], "1.7.7\u00a0\u00a0\u00a0Shared-Broker DD": [[2, "shared-broker-dd"], [91, "shared-broker-dd"]], "1.7.8\u00a0\u00a0\u00a0DD de donn\u00e9es partag\u00e9es": [[91, "dd-de-donnees-partagees"]], "1.7.8\u00a0\u00a0\u00a0Shared-Data DD": [[2, "shared-data-dd"]], "1.7.9\u00a0\u00a0\u00a0SEP: Shared End-Point Configuration": [[2, "sep-shared-end-point-configuration"], [91, "sep-shared-end-point-configuration"]], "1.7\u00a0\u00a0\u00a0Topologies": [[2, "topologies"], [91, "topologies"]], "1\u00a0\u00a0\u00a0Conception Strawman": [[91, null]], "1\u00a0\u00a0\u00a0Strawman Design": [[2, null]], "3.0.14": [[51, "id17"], [85, "id15"]], "3.0.15": [[51, "id16"], [85, "id14"]], "3.0.17": [[51, "id15"], [85, "id13"]], "3.0.22": [[51, "id14"], [85, "id12"]], "3.0.23": [[51, "id13"]], "3.0.25": [[51, "id12"], [85, "id11"]], "3.0.26": [[51, "id11"], [85, "id10"]], "3.0.37": [[51, "id10"]], "3.0.40": [[51, "id9"], [85, "id9"]], "3.0.41": [[51, "id8"], [85, "id8"]], "3.0.45": [[51, "id7"], [85, "id7"]], "3.0.47": [[51, "id6"], [85, "id6"]], "3.0.51": [[51, "id5"], [85, "id5"]], "3.0.52": [[51, "id4"], [85, "id4"]], "3.0.53": [[51, "id3"], [85, "id3"]], "3.0.54": [[51, "id2"], [85, "id2"]], "3.0.56": [[51, "id1"], [85, "id1"]], " recursive (par d\u00e9faut\u00a0: activ\u00e9)": [[128, "flag-recursive-par-defaut-active"]], "A first Example using Sarracenia Moth API": [[69, null]], "A votre gout!": [[120, "a-votre-gout"]], "ACTIONS": [[21, "actions"], [60, "actions"], [108, "actions"], [125, "actions"]], "AMQP": [[27, "amqp"], [107, "amqp"]], "AMQP - Introduction \u00e0 sarrac\u00e9nia": [[90, null]], "AMQP - Primer for Sarracenia": [[0, null]], "AMQP Feature Selection": [[0, "amqp-feature-selection"]], "AMQP QUEUE BINDINGS": [[21, "amqp-queue-bindings"]], "AMQP Topic:": [[130, "amqp-topic"]], "AMQP Topic: .{.}": [[65, "amqp-topic-version-dir"]], "AMQP v09 (Rabbitmq) Settings": [[22, "amqp-v09-rabbitmq-settings"], [105, "amqp-v09-rabbitmq-settings"]], "AMQP: not 1.0, but 0.8 or 0.9": [[0, "amqp-not-1-0-but-0-8-or-0-9"]], "AMQP: pas 1.0, mais 0.8 or 0.9": [[90, "amqp-pas-1-0-mais-0-8-or-0-9"]], "API Documentation": [[78, null]], "API Level Access": [[55, "api-level-access"]], "API NOAA CO-OPS": [[82, "api-noaa-co-ops"]], "ARGUMENTS AND OPTIONS": [[64, "arguments-and-options"]], "ARGUMENTS ET OPTIONS": [[129, "arguments-et-options"]], "Abonnements partag\u00e9s": [[100, "abonnements-partages"]], "Abonn\u00e9s (anglais: Subscribers)": [[107, "abonnes-anglais-subscribers"]], "Accel Overhaul": [[20, "accel-overhaul"]], "Accessing Messages from Python": [[39, "accessing-messages-from-python"]], "Accessing Options": [[39, "accessing-options"]], "Accessing accept/reject \u201cmasks\u201d": [[39, "accessing-accept-reject-masks"]], "Acc\u00e8s au niveau de l\u2019API": [[88, "acces-au-niveau-de-l-api"]], "Acc\u00e8s au syst\u00e8me privil\u00e9gi\u00e9": [[106, "acces-au-systeme-privilegie"]], "Acc\u00e8s aux messages \u00e0 partir de Python": [[118, "acces-aux-messages-a-partir-de-python"]], "Acc\u00e8s aux options": [[118, "acces-aux-options"]], "Acc\u00e9der aux \u00ab masques \u00bb d\u2019accept/reject": [[118, "acceder-aux-masques-d-accept-reject"]], "Ack": [[69, "Ack"], [134, "Ack"]], "Acquisition de GOES-R": [[112, "acquisition-de-goes-r"]], "Add RabbitMQ": [[11, "Add-RabbitMQ"], [11, "id1"]], "Adding a New Dependency": [[3, "adding-a-new-dependency"]], "Administering AMQP Data Pumps": [[46, null]], "Administering Rabbitmq Adddendum": [[47, null]], "Administrateur du serveur : un abonn\u00e9 local": [[138, null]], "Administration de Rabbitmq Adddendum": [[79, null]], "Administration des pompes de donn\u00e9es AMQP": [[80, null]], "Advanced File Reception": [[39, "advanced-file-reception"]], "Advanced Installations": [[46, "advanced-installations"]], "Advanced Polling": [[21, "advanced-polling"]], "Affichage de tous les param\u00e8tres": [[118, "affichage-de-tous-les-parametres"]], "Affiner la s\u00e9lection": [[88, "affiner-la-selection"]], "After Parity: True Improvements": [[20, "after-parity-true-improvements"]], "Ajout de D\u00e9pendance Python dans les Callbacks": [[118, "ajout-de-dependance-python-dans-les-callbacks"]], "Ajout manuel d\u2019utilisateurs": [[80, "ajout-manuel-d-utilisateurs"]], "Algorithm": [[19, "algorithm"]], "Algorithme": [[96, "algorithme"]], "Almost-Coherent File System or DB Performance": [[8, "Almost-Coherent-File-System-or-DB-Performance"]], "Amdahl\u2019s Law Applied": [[7, null]], "Analogie FTP": [[90, "analogie-ftp"]], "Analogy FTP": [[0, "analogy-ftp"]], "Analyse d\u2019antivirus": [[88, "analyse-d-antivirus"]], "And an Agreed Directory Tree": [[32, "and-an-agreed-directory-tree"]], "Annexe A : Contexte": [[90, "annexe-a-contexte"]], "Annonce de Sr3": [[109, null]], "Announcing Sr3": [[36, null]], "Another example": [[65, "another-example"]], "Anti-Virus Scanning": [[55, "anti-virus-scanning"]], "Apatridie/Crawlable": [[114, "apatridie-crawlable"]], "Aper\u00e7u": [[80, "apercu"], [103, null]], "Aper\u00e7u D\u00e9taill\u00e9": [[103, "apercu-detaille"]], "Appendix A: Background": [[0, "appendix-a-background"]], "Application Changes in 2017": [[30, "application-changes-in-2017"]], "Applications M\u00e9t\u00e9orologiques": [[112, "applications-meteorologiques"]], "Apr\u00e8s la parit\u00e9 : de vraies am\u00e9liorations": [[101, "apres-la-parite-de-vraies-ameliorations"]], "Architecture": [[23, "architecture"], [106, "architecture"]], "Assurance de Qualit\u00e9": [[95, "assurance-de-qualite"]], "Assurer la livraison (inflight)": [[104, null]], "Audience": [[39, "audience"], [118, "audience"]], "Automated Build": [[14, "automated-build"]], "Autonome": [[106, "autonome"]], "Autres champs de rapport": [[130, "autres-champs-de-rapport"]], "Autres exemples": [[83, "autres-exemples"]], "Autres param\u00e8tres": [[90, "autres-parametres"]], "Avec les avis AMQP sur un serveur de fichiers standard": [[114, "avec-les-avis-amqp-sur-un-serveur-de-fichiers-standard"]], "BODY: { } (JSON encoding.)": [[130, "body-en-tete-json-encoding"]], "BODY: { } (JSON encoding.)": [[65, "body-headers-json-encoding"]], "BUGS/Concerns/Issues": [[20, "bugs-concerns-issues"]], "BUGS/Pr\u00e9occupations/Probl\u00e8mes": [[101, "bugs-preoccupations-problemes"]], "BUNNY-OP and dd_dispatcher.py": [[47, "bunny-op-and-dd-dispatcher-py"]], "BUNNY-OP et dd_dispatcher.py": [[79, "bunny-op-et-dd-dispatcher-py"]], "Back Pressure": [[18, "back-pressure"], [27, "back-pressure"]], "Backporting a Dependency": [[14, "backporting-a-dependency"]], "Basic Idea": [[1, null]], "Better File Reception": [[39, "better-file-reception"]], "Biblioth\u00e8que Shim": [[111, "bibliotheque-shim"]], "Biblioth\u00e8que Shim n\u00e9cessaire": [[111, "bibliotheque-shim-necessaire"]], "Bindings": [[69, "Bindings"]], "Bonus": [[12, "Bonus"]], "Branches Git pour la pr\u00e9-publication": [[95, "branches-git-pour-la-pre-publication"]], "Branches Principales": [[93, "branches-principales"]], "Bref introduction aux expressions r\u00e9guli\u00e8res": [[108, "bref-introduction-aux-expressions-regulieres"]], "Brief Introduction to Regular Expressions": [[21, "brief-introduction-to-regular-expressions"]], "Bringing Amdahl & CAP Together": [[8, "Bringing-Amdahl-&-CAP-Together"]], "Broker": [[128, "broker"]], "Build Automatis\u00e9e": [[95, "build-automatisee"]], "Build Python3.6 Compatbile Branch": [[14, "build-python3-6-compatbile-branch"]], "Building a Windows Installer": [[14, "building-a-windows-installer"]], "Building an RPM": [[14, "building-an-rpm"]], "Builds quotidiennes": [[95, "builds-quotidiennes"]], "CAP Theorem": [[8, "CAP-Theorem"]], "CAP Theorem Applied": [[8, null]], "CFG messages": [[33, "cfg-messages"]], "COMPONENTS": [[21, "components"], [60, "components"]], "COMPOSANTS": [[108, "composants"], [125, "composants"]], "CONFIGURATION": [[17, "configuration"], [61, "configuration"], [62, "configuration"], [99, "configuration"], [126, "configuration"], [127, "configuration"]], "CONFIGURATION 1 : R\u00c9PLICATION POMPE \u00c0 POMPE": [[108, "configuration-1-replication-pompe-a-pompe"]], "CONFIGURATION DE DESTINATION 2 : DIFFUSION DE TYPE METPX-SUNDEW": [[108, "configuration-de-destination-2-diffusion-de-type-metpx-sundew"]], "CONFIGURATION FILES": [[21, "configuration-files"]], "CONFIGURATIONS": [[60, "configurations"], [125, "configurations"]], "CONSIDERATIONS WITH ONE TO ONE FILTERS": [[40, "considerations-with-one-to-one-filters"]], "CPUMP": [[21, "cpump"], [108, "cpump"]], "CREDENTIALS": [[21, "credentials"]], "Callbacks that need Python Modules": [[39, "callbacks-that-need-python-modules"]], "Cap Theorem": [[8, "Cap-Theorem"]], "Cartes R\u00e9seau (anglais: Network Maps)": [[107, "cartes-reseau-anglais-network-maps"]], "Cas d\u2019utilisation": [[82, "cas-d-utilisation"], [84, "cas-d-utilisation"]], "Case Study: HPC Mirroring": [[29, null]], "Caveat: Solution for This Problem, Not Every Problem": [[32, "caveat-solution-for-this-problem-not-every-problem"]], "Ce qui fonctionnera sans changement": [[89, "ce-qui-fonctionnera-sans-changement"]], "Ce qui ne fonctionnera pas sans changement": [[89, "ce-qui-ne-fonctionnera-pas-sans-changement"]], "Central Data Flows": [[30, "central-data-flows"]], "Champs dans les Messages": [[118, "champs-dans-les-messages"]], "Change Defaults": [[46, "change-defaults"]], "Changements de conception depuis l\u2019original (2015)": [[102, null]], "Changes Done to Address Pain Points": [[20, "changes-done-to-address-pain-points"]], "Changes Made to create v03": [[35, null]], "Changes from v02": [[35, "changes-from-v02"]], "Choosing AP:": [[8, "Choosing-AP:"]], "Choosing CA:": [[8, "Choosing-CA:"]], "Choosing CP:": [[8, "Choosing-CP:"]], "Cleanup": [[46, "cleanup"], [73, "cleanup"]], "Client": [[23, "client"], [106, "client"]], "Client Installation": [[71, "client-installation"]], "Client-side Filtering": [[21, "client-side-filtering"]], "Cloud Solves This!": [[8, "Cloud-Solves-This!"]], "Clustered Broker Keepalived Setup": [[46, "clustered-broker-keepalived-setup"]], "Code Reference": [[57, null]], "Code Style": [[4, "code-style"]], "Coding Differences between plugins in v2 vs. Sr3": [[56, "coding-differences-between-plugins-in-v2-vs-sr3"]], "Coming in 2018": [[30, "coming-in-2018"]], "Command Line Difference": [[56, "command-line-difference"]], "Command Line Guide": [[21, null]], "Comment Faire": [[86, null]], "Comment adopter l\u2019AMQP": [[90, "comment-adopter-lamqp"]], "Comment configurer un abonn\u00e9 distant": [[137, null]], "Comment s\u00e9lectionner Chunksize": [[97, "comment-selectionner-chunksize"]], "Commit de Code": [[93, "commit-de-code"]], "Commits to the Development Branch": [[3, "commits-to-the-development-branch"]], "Commits vers la branche principale": [[93, "commits-vers-la-branche-principale"]], "Committing Code": [[3, "committing-code"]], "Commutateurs/Routage": [[106, "commutateurs-routage"]], "Comparison to 2015 Video": [[30, "comparison-to-2015-video"], [112, "comparison-to-2015-video"]], "Components": [[19, "components"]], "Composants": [[96, "composants"]], "Concepts g\u00e9n\u00e9raux de Sarracenia": [[105, null]], "Conclusion": [[20, "conclusion"], [66, "Conclusion"], [69, "Conclusion"], [101, "conclusion"], [131, "Conclusion"], [134, "Conclusion"]], "Conclusion:": [[68, "Conclusion:"], [133, "Conclusion:"]], "Concrete Plan (Done)": [[20, "concrete-plan-done"]], "Config": [[78, "config"]], "Config File Entries and Callbacks": [[67, "Config-File-Entries-and-Callbacks"]], "Config File Entries to use Flow_Callbacks": [[49, "config-file-entries-to-use-flow-callbacks"]], "Configuration Files": [[56, "configuration-files"]], "Configuration Upgrade": [[56, "configuration-upgrade"]], "Configuration de fil d\u00b4attente": [[108, "configuration-de-fil-d-attente"]], "Configuration keepalived d\u2019un courtier Clustered": [[80, "configuration-keepalived-d-un-courtier-clustered"]], "Configurations": [[21, "configurations"], [108, "configurations"]], "Configurations a Distance": [[125, "configurations-a-distance"]], "Configurations homologues simples/\u00e9volutives pour les nations": [[114, "configurations-homologues-simples-evolutives-pour-les-nations"]], "Configurer l\u2019environnement de test de flux": [[93, "configurer-lenvironnement-de-test-de-flux"]], "Configurer une branche compatible Python3.6": [[95, "configurer-une-branche-compatible-python3-6"]], "Consid\u00e9rations de s\u00e9curit\u00e9": [[106, "considerations-de-securite"]], "Consid\u00e9rations relatives au d\u00e9ploiement": [[106, null]], "Consid\u00e9rations relatives au serveur/protocole": [[97, "considerations-relatives-au-serveur-protocole"]], "Consid\u00e9rations relatives \u00e0 l\u2019efficacit\u00e9": [[87, "considerations-relatives-a-lefficacite"]], "Contents": [[0, "contents"], [2, "contents"], [30, "contents"], [32, "contents"], [40, "contents"], [42, "contents"], [43, "contents"], [56, "contents"], [57, "contents"], [58, "contents"], [89, "contents"], [90, "contents"], [91, "contents"], [112, "contents"], [114, "contents"]], "Contents:": [[13, null], [16, null], [31, null], [41, null], [44, null], [59, null], [75, null], [86, null], [124, null], [140, null], [141, null], [142, null]], "Contenu en ligne dans les messages": [[114, "contenu-en-ligne-dans-les-messages"]], "Contenu:": [[113, null], [121, null]], "Contenus:": [[98, null]], "Continuous Mirroring": [[29, "continuous-mirroring"]], "Continuously Mirror 27 Million File Tree Very Quickly": [[29, "continuously-mirror-27-million-file-tree-very-quickly"]], "Contre-Pression (anglais: Back Pressure)": [[107, "contre-pression-anglais-back-pressure"]], "Contre-pression": [[100, "contre-pression"]], "Contribuer \u00e0 Sarracenia": [[98, null]], "Contributing": [[16, null]], "Contribution": [[4, "contribution"], [92, "contribution"]], "Contributions": [[29, "contributions"], [111, "contributions"]], "Contr\u00f4le de la journalisation": [[118, "controle-de-la-journalisation"]], "Convention d\u00b4appellation de files d\u00b4attente": [[108, "convention-d-appellation-de-files-d-attente"]], "Convention d\u00b4appellation des EXCHANGES": [[108, "convention-d-appellation-des-exchanges"]], "Conventions": [[3, "conventions"], [93, "conventions"]], "Copie de fichiers": [[111, "copie-de-fichiers"]], "Copying Files": [[29, "copying-files"]], "Copyright": [[3, "copyright"]], "Corr\u00e9spondance des concepts AMQP avec Sarracenia": [[105, "correspondance-des-concepts-amqp-avec-sarracenia"]], "Cost": [[45, "cost"]], "Co\u00fbt": [[122, "cout"]], "Creating the Queue": [[21, "creating-the-queue"]], "Credential Details": [[21, "credential-details"], [62, "credential-details"]], "Crochets de Sundew": [[80, "crochets-de-sundew"]], "Cr\u00e9ation d\u2019un programme d\u2019installation Windows": [[95, "creation-dun-programme-dinstallation-windows"]], "Customize File handling with Callbacks.": [[67, null]], "Customizing Duplicate Suppression": [[49, "customizing-duplicate-suppression"]], "Customizing post_exchangeSplit": [[49, "customizing-post-exchangesplit"]], "DESCRIPTION": [[17, "description"], [40, "description"], [42, "description"], [43, "description"], [60, "description"], [61, "description"], [63, "description"], [64, "description"], [65, "description"], [99, "description"], [125, "description"], [126, "description"], [128, "description"], [129, "description"], [130, "description"]], "DESTFNSCRIPT": [[56, "destfnscript"], [89, "destfnscript"]], "DESTFNSCRIPTS": [[39, "destfnscripts"]], "DESTINATION SETUP 2 : METPX-SUNDEW LIKE DISSEMINATION": [[21, "destination-setup-2-metpx-sundew-like-dissemination"]], "Daily Builds": [[14, "daily-builds"]], "Dans le menu D\u00e9marrer :": [[139, "dans-le-menu-demarrer"]], "Data (bas\u00e9 uniquement sur le contenu)": [[120, "data-base-uniquement-sur-le-contenu"]], "Data Loss": [[55, "data-loss"]], "Data Oriented": [[25, "data-oriented"]], "Data Sources": [[54, null]], "Databases are Optimal for Fixed Sized Records. No One Uses Them That Way": [[32, "databases-are-optimal-for-fixed-sized-records-no-one-uses-them-that-way"]], "Dataless Avec Sr_poll": [[106, "dataless-avec-sr-poll"]], "Dataless Pumps": [[27, "dataless-pumps"]], "Dataless Transfers": [[27, "dataless-transfers"]], "Dataless With Sr_poll": [[23, "dataless-with-sr-poll"]], "Dataless or S=0": [[23, "dataless-or-s-0"]], "Dataless ou S=0": [[106, "dataless-ou-s-0"]], "Dataless vann\u00e9e": [[106, "dataless-vannee"]], "De URP-1/2 annoncer \u00e0 BUNNY-OP qu\u2019un produit est pr\u00eat": [[79, "de-urp-1-2-annoncer-a-bunny-op-quun-produit-est-pret"]], "Debian/Ubuntu": [[3, "debian-ubuntu"], [93, "debian-ubuntu"]], "Debugging in callbacks": [[39, "debugging-in-callbacks"]], "Decoding Contents": [[48, "decoding-contents"]], "Definitions": [[8, "Definitions"]], "Delivery Completion (inflight)": [[26, null]], "Deployment Considerations": [[23, null]], "Deployments/Use Cases": [[28, "deployments-use-cases"]], "Deprecated v2 plugins": [[21, "deprecated-v2-plugins"]], "Description des Tests sr_insects": [[93, "description-des-tests-sr-insects"]], "Description du protocole / format du message v02": [[116, null]], "Description of the message v02 protocol / format": [[34, null]], "Design Changes since Original (2015)": [[5, null]], "Design Decisions/Assumptions": [[9, "Design-Decisions/Assumptions"]], "Designs": [[23, "designs"]], "Detailles": [[95, "detailles"]], "Details": [[14, "details"]], "Details d\u2019Identifiants": [[108, "details-d-identifiants"]], "Detection Methods: Inotify, Policy, SHIM": [[29, "detection-methods-inotify-policy-shim"]], "Development": [[3, "development"]], "Dictionaries or Members for Properties?": [[20, "dictionaries-or-members-for-properties"]], "Dictionary Pre-Routing": [[12, "Dictionary-Pre-Routing"], [12, "id2"]], "Dictionnaires ou membres pour les propri\u00e9t\u00e9s ?": [[101, "dictionnaires-ou-membres-pour-les-proprietes"]], "Diff\u00e9rence de ligne de commande": [[89, "difference-de-ligne-de-commande"]], "Diff\u00e9rences de codage entre les plugins dans v2 vs Sr3": [[89, "differences-de-codage-entre-les-plugins-dans-v2-vs-sr3"]], "Diff\u00e9rences par rapport \u00e0 v02": [[117, "differences-par-rapport-a-v02"]], "Digression about ZSync": [[15, "digression-about-zsync"]], "Digression sur ZSync": [[97, "digression-sur-zsync"]], "Discussion of File Modification Propagation": [[15, null]], "Discussion sur la propagation de la modification de fichiers": [[97, null]], "Dispatcher": [[9, "Dispatcher"]], "Distributed Duplicate Suppression": [[11, "Distributed-Duplicate-Suppression"]], "Distributions Redhat/Suse (bas\u00e9es sur rpm)": [[136, "distributions-redhat-suse-basees-sur-rpm"]], "Do you already have it?": [[71, "do-you-already-have-it"]], "Documentation": [[3, "documentation"], [93, "documentation"]], "Documentation Standards": [[4, null]], "Does it Work?": [[29, "does-it-work"]], "Done": [[20, "done"]], "DoneTodo": [[20, "donetodo"]], "Download Renaming": [[49, "download-renaming"]], "Downloading": [[48, "downloading"]], "Downloading Data with Python": [[69, "Downloading-Data-with-Python"]], "Downloading Using the Command Line": [[66, null]], "Duplicate Suppression": [[11, "Duplicate-Suppression"], [25, null]], "Dynamic Flow": [[3, "dynamic-flow"], [93, "dynamic-flow"]], "Dynamic Flow Test Length": [[3, "dynamic-flow-test-length"]], "D\u00e9codage du contenu": [[84, "decodage-du-contenu"]], "D\u00e9finir la version": [[95, "definir-la-version"]], "D\u00e9marrage": [[80, "demarrage"], [137, "demarrage"]], "D\u00e9marrage et arr\u00eat du syst\u00e8me": [[136, "demarrage-et-arret-du-systeme"]], "D\u00e9ploiements/cas d\u2019utilisation": [[110, "deploiements-cas-dutilisation"]], "D\u00e9pots de pacquets Ubuntu: Launchpad.net": [[93, "depots-de-pacquets-ubuntu-launchpad-net"]], "D\u00e9p\u00f4ts et recettes": [[95, "depots-et-recettes"]], "D\u00e9veloppement": [[93, "developpement"]], "D\u2019o\u00f9 vient l\u2019AMQP?": [[90, "dou-vient-lamqp"]], "ENVIRONMENT VARIABLES": [[17, "environment-variables"], [61, "environment-variables"], [64, "environment-variables"]], "ERROR RECOVERY": [[21, "error-recovery"]], "EXAMPLE": [[65, "example"]], "EXAMPLES": [[21, "examples"], [60, "examples"]], "EXEMPLE": [[130, "exemple"]], "EXEMPLES": [[108, "exemples"], [125, "exemples"]], "Efficiency Considerations": [[54, "efficiency-considerations"]], "Eliminate Dispatcher": [[12, "Eliminate-Dispatcher"], [12, "id1"]], "Eliminate Log Locking": [[12, "Eliminate-Log-Locking"]], "Email Ingesting with Sarracenia (v2)": [[48, null]], "En-t\u00eates d\u2019utilisateur": [[87, "en-tetes-d-utilisateur"]], "En-t\u00eates facultatives": [[130, "en-tetes-facultatives"]], "Engins de transport": [[106, "engins-de-transport"]], "Enregistrement de r\u00e9vision": [[87, "enregistrement-de-revision"], [88, "enregistrement-de-revision"], [136, "enregistrement-de-revision"]], "Ensuring Things are Up": [[46, "ensuring-things-are-up"]], "Entretien m\u00e9nager - sr_audit": [[80, "entretien-menager-sr-audit"]], "Entry Points": [[49, "entry-points"]], "Entr\u00e9es de fichier de configuration et rappels": [[132, "Entr\u00e9es-de-fichier-de-configuration-et-rappels"]], "Entr\u00e9es de fichier de configuration pour utiliser Flow_Callbacks": [[83, "entrees-de-fichier-de-configuration-pour-utiliser-flow-callbacks"]], "Environment Variables": [[21, "environment-variables"], [108, "environment-variables"]], "Erreurs de configuration fr\u00e9quentes": [[104, "erreurs-de-configuration-frequentes"]], "Est-ce que \u00e7a marche?": [[111, "est-ce-que-ca-marche"]], "Est-ce rapide?": [[111, "est-ce-rapide"]], "Et une arborescence de r\u00e9pertoires convenue": [[114, "et-une-arborescence-de-repertoires-convenue"]], "Examples of Integrating APIs into Plugins": [[50, "examples-of-integrating-apis-into-plugins"]], "Examples of Non-Shared Approaches": [[8, "Examples-of-Non-Shared-Approaches"]], "Excess Queueing/Performance": [[46, "excess-queueing-performance"]], "Exc\u00e8s de fil d\u2019attente/performance": [[80, "exces-de-fil-d-attente-performance"]], "Executive Summary": [[32, "executive-summary"]], "Exemple de sous-classe Flowcb": [[83, "exemple-de-sous-classe-flowcb"], [132, "Exemple-de-sous-classe-Flowcb"]], "Exemple d\u2019API de flux": [[133, null]], "Exemples d\u2019int\u00e9gration d\u2019API dans des plugins": [[82, "exemples-dintegration-dapi-dans-des-plugins"]], "Exigences minimales": [[80, "exigences-minimales"]], "Exigences sp\u00e9cifiques de consommation": [[108, "exigences-specifiques-de-consommation"]], "Explanation": [[4, "explanation"], [44, null]], "Explication": [[92, "explication"], [121, null]], "Extending Classes": [[39, "extending-classes"]], "Extending Polling Protocols": [[48, "extending-polling-protocols"], [50, "extending-polling-protocols"], [84, "extending-polling-protocols"]], "Extension Ideas": [[39, "extension-ideas"]], "Extension des classes": [[118, "extension-des-classes"]], "Extension des protocoles de poll": [[82, "extension-des-protocoles-de-poll"]], "Extensions": [[21, "extensions"], [108, "extensions"]], "Ex\u00e9cuter un test de Flux": [[93, "executer-un-test-de-flux"]], "Ex\u00e9cution de MetPX via Docker": [[81, null]], "Ex\u00e9cution de Sarracenia avec une invite de commandes": [[139, "execution-de-sarracenia-avec-une-invite-de-commandes"]], "Ex\u00e9cution de Sarracenia sans invite de commandes": [[139, "execution-de-sarracenia-sans-invite-de-commandes"]], "Ex\u00e9cution de tests de Flux": [[93, "execution-de-tests-de-flux"]], "FICHIERS DE CONFIGURATION": [[108, "fichiers-de-configuration"]], "FINAL REMARKS ON ONE TO ONE FILTER": [[40, "final-remarks-on-one-to-one-filter"]], "FIXME/Deferred": [[20, "fixme-deferred"]], "FIXME/Diff\u00e9r\u00e9": [[101, "fixme-differe"]], "FLOW": [[21, "flow"], [108, "flow"]], "FTP": [[45, "ftp"], [122, "ftp"]], "FTPS": [[45, "ftps"], [122, "ftps"]], "Fait": [[101, "fait"]], "Features": [[20, "features"]], "Fewer Klocs, Better klocs": [[28, "fewer-klocs-better-klocs"]], "Fiabilit\u00e9 et sommes de contr\u00f4le": [[87, "fiabilite-et-sommes-de-controle"]], "Fiabilit\u00e9/Complexit\u00e9": [[122, "fiabilite-complexite"]], "Fichiers de configuration": [[89, "fichiers-de-configuration"]], "Fichiers journal et Suivi": [[108, "fichiers-journal-et-suivi"]], "Fichiers trop vieux": [[120, "fichiers-trop-vieux"]], "Fichiers volumineux": [[87, "fichiers-volumineux"]], "Field Replacements": [[21, "field-replacements"], [108, "field-replacements"]], "Fields in Messages": [[39, "fields-in-messages"]], "File Detection Strategies": [[24, null], [119, null]], "File Detection Strategy Table": [[24, "file-detection-strategy-table"]], "File Notification Without Downloading": [[39, "file-notification-without-downloading"]], "File Partitioning": [[21, "file-partitioning"]], "File Placement": [[56, "file-placement"]], "File Re-assembling": [[19, null]], "File d\u00b4attente trop important": [[88, "file-d-attente-trop-important"]], "Files That Change Too Often (mdelaylatest)": [[25, "files-that-change-too-often-mdelaylatest"]], "Files That are Too Old": [[25, "files-that-are-too-old"]], "Filtrage c\u00f4t\u00e9 client": [[108, "filtrage-cote-client"]], "First Subscribe": [[46, "first-subscribe"]], "Flakey Broker": [[3, "flakey-broker"], [93, "flakey-broker"]], "Flots Centrales": [[112, "flots-centrales"]], "Flow Callback Points": [[39, "flow-callback-points"]], "Flow Callback Poll Customization": [[39, "flow-callback-poll-customization"]], "Flow Callbacks": [[39, "flow-callbacks"]], "Flow Cleanup": [[3, "flow-cleanup"], [93, "flow-cleanup"]], "Flow Test Coinc\u00e9": [[93, "flow-test-coince"]], "Flow Test Stuck": [[3, "flow-test-stuck"]], "Flow Through Pumps": [[22, "flow-through-pumps"]], "Flow tests avec MQTT": [[93, "flow-tests-avec-mqtt"]], "Flow tests with MQTT": [[3, "flow-tests-with-mqtt"]], "FlowCallback Reference": [[58, null]], "Flux de travail v2": [[93, "flux-de-travail-v2"]], "Flux de travail v3": [[93, "flux-de-travail-v3"]], "Flux programm\u00e9": [[89, "flux-programme"]], "Folder Structure": [[4, "folder-structure"]], "Fonctionnalit\u00e9: Plages d\u2019octets": [[122, "fonctionnalite-plages-doctets"]], "Fonctionnalit\u00e9s": [[101, "fonctionnalites"]], "Format de fichier de configuration SR3": [[128, "format-de-fichier-de-configuration-sr3"]], "Format/Protocole de messages d\u2019annonce Sarracenia": [[130, "format-protocole-de-messages-d-annonce-sarracenia"]], "Frais g\u00e9n\u00e9raux": [[111, "frais-generaux"]], "Frequent Configuration Errors": [[26, "frequent-configuration-errors"]], "From Anaconda Prompt:": [[74, "from-anaconda-prompt"]], "From URP-1/2 announce to BUNNY-OP that a product is ready": [[47, "from-urp-1-2-announce-to-bunny-op-that-a-product-is-ready"]], "From a Windows Powershell session:": [[74, "from-a-windows-powershell-session"]], "From the Start Menu:": [[74, "from-the-start-menu"]], "From the Task Scheduler:": [[74, "from-the-task-scheduler"]], "Functionality: Byte Ranges": [[45, "functionality-byte-ranges"]], "GOES-R Acquisition": [[30, "goes-r-acquisition"]], "GTS a \u00e9t\u00e9 con\u00e7u il y a longtemps": [[114, "gts-a-ete-concu-il-y-a-longtemps"]], "GTS est limit\u00e9 et inflexible": [[114, "gts-est-limite-et-inflexible"]], "GTS is Limited & Inflexible": [[32, "gts-is-limited-inflexible"]], "GTS was Designed Long Ago": [[32, "gts-was-designed-long-ago"]], "GUIDE DE MISE A NIVEAU": [[85, null]], "General Sarracenia Concepts": [[22, null]], "Gestion des utilisateurs d\u2019une pompe \u00e0 l\u2019aide de Sr_audit": [[80, "gestion-des-utilisateurs-d-une-pompe-a-l-aide-de-sr-audit"]], "Git Branches for Pre-release": [[14, "git-branches-for-pre-release"]], "Global Duplication Suppression": [[11, "Global-Duplication-Suppression"]], "Glossaire": [[106, "glossaire"], [107, null]], "Glossary": [[23, "glossary"], [27, null]], "Guide De Ligne De Commande": [[108, null]], "Guide de Style": [[92, "guide-de-style"]], "Guide de l\u2019abonn\u00e9": [[88, null]], "Guide de programmation sarracenia": [[118, null]], "Guide du d\u00e9veloppeur MetPX-Sarracenia": [[93, null]], "HOWTOS": [[53, null]], "HPC Acquisition Feeds": [[30, "hpc-acquisition-feeds"]], "HPC Mirroring": [[30, "hpc-mirroring"], [112, "hpc-mirroring"]], "HPC mirrorring": [[25, "hpc-mirrorring"]], "HPCR Solution Overview": [[29, "hpcr-solution-overview"]], "HTTP Injection": [[54, "http-injection"]], "Hierarchical Settings": [[39, "hierarchical-settings"]], "High Performance Duplicate Suppression": [[55, "high-performance-duplicate-suppression"]], "High Priority Delivery": [[55, "high-priority-delivery"]], "High volume sample": [[3, "high-volume-sample"]], "Histoire": [[113, null]], "Histoire/Contexte de Sarracenia": [[110, null]], "History": [[31, null]], "History/Context of Sarracenia": [[28, null]], "Hooks from Sundew": [[46, "hooks-from-sundew"]], "Housekeeping - sr3 sanity": [[46, "housekeeping-sr3-sanity"]], "Housekeeping Metrics": [[55, "housekeeping-metrics"]], "How to Adopt AMQP": [[0, "how-to-adopt-amqp"]], "How to Select Chunksize": [[15, "how-to-select-chunksize"]], "How to setup a Remote Subscriber": [[73, null]], "How2Guides": [[4, "how2guides"]], "How2Guides (Comment Faire)": [[92, "how2guides-comment-faire"]], "IDENTIFICATION (CREDENTIALS)": [[108, "identification-credentials"]], "INSTANCES": [[21, "instances"], [108, "instances"]], "IPv6": [[23, "ipv6"], [106, "ipv6"]], "Identifiants et Details": [[127, "identifiants-et-details"]], "Identity": [[21, "identity"], [108, "identity"]], "Id\u00e9e de Base": [[94, null]], "Id\u00e9es d\u2019extension": [[118, "idees-dextension"]], "Implementations": [[38, "implementations"]], "Implementing POP/IMAP": [[48, "implementing-pop-imap"]], "Impl\u00e9mentations": [[103, "implementations"]], "Importation d\u2019extensions": [[108, "importation-dextensions"]], "Importing Extensions": [[21, "importing-extensions"]], "Incompatibilities": [[20, "incompatibilities"]], "Incompatibilit\u00e9s": [[101, "incompatibilites"]], "Indices and tables": [[142, "indices-and-tables"]], "Inflight Table": [[26, "inflight-table"]], "Ingestion par e-mail avec Sarracenia": [[84, null]], "Init Integration": [[46, "init-integration"]], "Initialisation et param\u00e8tres": [[83, "initialisation-et-parametres"]], "Initialization and Settings": [[49, "initialization-and-settings"]], "Injecting Data into a MetPX-Sarracenia Pump Network": [[54, "injecting-data-into-a-metpx-sarracenia-pump-network"]], "Injection HTTP": [[87, "injection-http"]], "Injection SFTP": [[87, "injection-sftp"]], "Injection de donn\u00e9es dans un r\u00e9seau de pompes MetPX-Sarracenia": [[87, "injection-de-donnees-dans-un-reseau-de-pompes-metpx-sarracenia"]], "Inline Content in Messages": [[32, "inline-content-in-messages"]], "Input Validation": [[23, "input-validation"]], "Inqui\u00e9tudes abord\u00e9es": [[101, "inquietudes-abordees"]], "Install Servers on Workstation": [[3, "install-servers-on-workstation"]], "Installation": [[46, "installation"], [80, "installation"]], "Installation Client": [[136, "installation-client"]], "Installation Instructions": [[51, "installation-instructions"]], "Installation Rabbitmq": [[80, "installation-rabbitmq"]], "Installation de MetPX Sarracenia": [[136, null]], "Installation d\u2019un RABBITMQ-SERVER": [[79, "installation-d-un-rabbitmq-server"]], "Installation locale": [[93, "installation-locale"]], "Installations avanc\u00e9es": [[80, "installations-avancees"]], "Installer des serveurs sur un poste de travail": [[93, "installer-des-serveurs-sur-un-poste-de-travail"]], "Instances": [[63, "instances"], [128, "instances"]], "Instructions d\u2019installation": [[85, "instructions-dinstallation"]], "Intel/Cray HPC Stack": [[0, "intel-cray-hpc-stack"]], "Internet Push est un mauvais ajustement pour les gros flux": [[114, "internet-push-est-un-mauvais-ajustement-pour-les-gros-flux"]], "Internet Push is a Poor Fit for Large Feeds": [[32, "internet-push-is-a-poor-fit-for-large-feeds"]], "Interrogation de sources externes": [[87, "interrogation-de-sources-externes"]], "Introduction": [[39, "introduction"], [39, "id1"], [47, "introduction"], [52, "introduction"], [55, "introduction"], [79, "introduction"], [81, "introduction"], [88, "introduction"], [118, "introduction"]], "Int\u00e9gration Init": [[80, "integration-init"]], "Int\u00e9gration LDAP": [[80, "integration-ldap"]], "Is it Fast?": [[29, "is-it-fast"]], "It\u00b4s About Time": [[6, "It\u00b4s-About-Time"]], "Journalisation": [[81, "journalisation"], [83, "journalisation"]], "Journalisation et d\u00e9bogage": [[88, "journalisation-et-debogage"]], "Journaux des messages": [[115, "journaux-des-messages"]], "Key Branches": [[3, "key-branches"]], "Known Problems (Solved in sr3)": [[20, "known-problems-solved-in-sr3"]], "LDAP Integration": [[46, "ldap-integration"]], "LES EN-T\u00caTES FIXES": [[130, "les-en-tetes-fixes"]], "LOGS and MONITORING": [[21, "logs-and-monitoring"]], "La ceuillette de messages": [[108, "la-ceuillette-de-messages"]], "La lecture de l\u2019arbre prend trop de temps": [[111, "la-lecture-de-larbre-prend-trop-de-temps"]], "Large Files": [[54, "large-files"]], "Large Numbers of Processors Need High Parallelism": [[7, "Large-Numbers-of-Processors-Need-High-Parallelism"]], "Latence (anglais: Latency)": [[107, "latence-anglais-latency"]], "Latency": [[27, "latency"]], "Launchpad": [[14, "launchpad"], [95, "launchpad"]], "Launchpad.net": [[95, "launchpad-net"]], "Le fichiers trop changeant (mdelaylatest)": [[120, "le-fichiers-trop-changeant-mdelaylatest"]], "Le flux \u00e0 travers des Pompes": [[105, "le-flux-a-travers-des-pompes"]], "Les bases de donn\u00e9es sont optimales pour les enregistrements de taille fixe. Personne ne les utilise de cette fa\u00e7on": [[114, "les-bases-de-donnees-sont-optimales-pour-les-enregistrements-de-taille-fixe-personne-ne-les-utilise-de-cette-facon"]], "Les champs override": [[83, "les-champs-override"]], "Let the Computer Do It": [[6, "Let-the-Computer-Do-It"]], "Liaisons": [[134, "Liaisons"]], "Liasons AMQP QUEUE": [[108, "liasons-amqp-queue"]], "Limitation": [[3, "limitation"], [93, "limitation"]], "Listes De Travail": [[132, "Listes-De-Travail"]], "Listes de travail (Worklist)": [[118, "listes-de-travail-worklist"]], "Little Data": [[0, "little-data"]], "Livraison hautement prioritaire": [[88, "livraison-hautement-prioritaire"]], "Local Installation": [[3, "local-installation"]], "Local Pip install": [[3, "local-pip-install"]], "Local Python": [[3, "local-python"], [93, "local-python"]], "Localisation": [[92, "localisation"]], "Localization": [[4, "localization"]], "Log messages": [[33, "log-messages"]], "LogFormat ( default: %(asctime)s [%(levelname)s] %(name)s %(funcName)s %(message)s )": [[63, "logformat-default-asctime-s-levelname-s-name-s-funcname-s-message-s"], [128, "logformat-default-asctime-s-levelname-s-name-s-funcname-s-message-s"]], "Logging": [[49, "logging"], [52, "logging"], [67, "Logging"]], "Logging Control": [[39, "logging-control"]], "Logging and Debugging": [[55, "logging-and-debugging"]], "Logs": [[60, "logs"], [125, "logs"]], "Longer Overview": [[38, "longer-overview"]], "Longueur du test Dynamic Flow": [[93, "longueur-du-test-dynamic-flow"]], "L\u2019algorithme de Flux": [[105, "l-algorithme-de-flux"]], "L\u2019avez-vous d\u00e9j\u00e0?": [[136, "lavez-vous-deja"]], "METHODOLOGY": [[42, "methodology"]], "MIGRATING FILTERS": [[42, "migrating-filters"]], "MIGRATING SENDER": [[42, "migrating-sender"]], "MQTT": [[27, "mqtt"], [107, "mqtt"]], "MQTT (version =5) Param\u00e8tres": [[105, "mqtt-version-5-parametres"]], "MQTT (version =5) Settings": [[22, "mqtt-version-5-settings"]], "MQTT Implementation Notes": [[18, null]], "Managing Users on a Pump Using Sr_audit": [[46, "managing-users-on-a-pump-using-sr-audit"]], "Mandatory Settings": [[64, "mandatory-settings"]], "Manual Process": [[14, "manual-process"]], "Manually Adding Users": [[46, "manually-adding-users"]], "Manuel de l\u2019utilisateur Windows": [[139, null]], "Mappage des concepts AMQP \u00e0 Sarracenia": [[90, "mappage-des-concepts-amqp-a-sarracenia"]], "Mappage des points d\u2019entr\u00e9e v2 aux Callbacks v3": [[89, "mappage-des-points-d-entree-v2-aux-callbacks-v3"]], "Mappage vers MQTT": [[130, "mappage-vers-mqtt"]], "Mappages": [[101, "mappages"]], "Mapping AMQP Concepts to Sarracenia": [[0, "mapping-amqp-concepts-to-sarracenia"], [22, "mapping-amqp-concepts-to-sarracenia"]], "Mapping to MQTT": [[65, "mapping-to-mqtt"]], "Mapping v2 Entry Points to v3 Callbacks": [[56, "mapping-v2-entry-points-to-v3-callbacks"]], "Mappings": [[20, "mappings"]], "Maturity": [[32, "maturity"]], "Maturit\u00e9": [[114, "maturite"]], "Meilleure r\u00e9ception des fichiers": [[118, "meilleure-reception-des-fichiers"]], "Mesh-Style Data Exchange for the WIS-GTS in 2019": [[32, null]], "Message Gathering": [[21, "message-gathering"]], "Message v01 Format": [[33, null], [115, null]], "Messages": [[69, "Messages"], [134, "Messages"]], "Messages de Rapport (anglais: Report messages)": [[107, "messages-de-rapport-anglais-report-messages"]], "Messages de rapport": [[87, "messages-de-rapport"]], "Messages du CFG": [[115, "messages-du-cfg"]], "MetPX Sarracenia Wiki": [[77, null]], "MetPX-Sarracenia Developer\u2019s Guide": [[3, null]], "MetPX-Sarracenia Installation": [[71, null]], "Minimum Requirements": [[46, "minimum-requirements"]], "Miroitage CHP": [[120, "miroitage-chp"]], "Mise en Place": [[137, "mise-en-place"]], "Mise en garde: Solution \u00e0 ce probl\u00e8me, pas tous les probl\u00e8mes": [[114, "mise-en-garde-solution-a-ce-probleme-pas-tous-les-problemes"]], "Mise en miroir continue": [[111, "mise-en-miroir-continue"]], "Mise en miroir continue de 27 millions d\u2019arborescence de fichiers tr\u00e8s rapidement": [[111, "mise-en-miroir-continue-de-27-millions-darborescence-de-fichiers-tres-rapidement"]], "Mise en \u0153uvre de POP/IMAP": [[84, "mise-en-oeuvre-de-pop-imap"]], "Mise \u00e0 jour du site Web sf.net": [[110, "mise-a-jour-du-site-web-sf-net"]], "Mise \u00e0 niveau de la configuration": [[89, "mise-a-niveau-de-la-configuration"]], "Modification de fichiers en transit": [[83, "modification-de-fichiers-en-transit"]], "Modifications apport\u00e9es pour cr\u00e9er la v03": [[117, null]], "Modifications apport\u00e9es pour r\u00e9soudre les probl\u00e8mes": [[101, "modifications-apportees-pour-resoudre-les-problemes"]], "Modifications d\u2019application en 2017": [[112, "modifications-d-application-en-2017"]], "Modifier les valeurs par d\u00e9faut": [[80, "modifier-les-valeurs-par-defaut"]], "Modifying Files in Flight": [[49, "modifying-files-in-flight"]], "Moins de Klocs, de meilleurs Klocs": [[110, "moins-de-klocs-de-meilleurs-klocs"]], "More Information": [[55, "more-information"]], "Multiple processes: Instances, Singletons and VIP": [[22, "multiple-processes-instances-singletons-and-vip"], [105, "multiple-processes-instances-singletons-and-vip"]], "M\u00e9thodes de d\u00e9tection : Inotify, Policy, SHIM": [[111, "methodes-de-detection-inotify-policy-shim"]], "M\u00e9trique Housekeeping": [[88, "metrique-housekeeping"]], "NAMING EXCHANGES": [[21, "naming-exchanges"]], "NAMING QUEUES": [[21, "naming-queues"]], "NEWS FLASH: Serial 9x Faster than Parallel!": [[7, "NEWS-FLASH:-Serial-9x-Faster-than-Parallel!"]], "NOAA CO-OPS API": [[50, "noaa-co-ops-api"]], "Name (bas\u00e9 uniquement sur le nom)": [[120, "name-base-uniquement-sur-le-nom"]], "Name Oriented": [[25, "name-oriented"]], "Named Exchanges and Queues": [[0, "named-exchanges-and-queues"]], "Navire de Th\u00e9s\u00e9e": [[101, "navire-de-thesee"]], "Nettoyage": [[80, "nettoyage"], [137, "nettoyage"]], "Network Maps": [[27, "network-maps"]], "Non-Shared Approaches.": [[8, "Non-Shared-Approaches."]], "Normes de documentation": [[92, null]], "Not Baked/Thinking": [[20, "not-baked-thinking"]], "Notes de mise en \u0153uvre MQTT": [[100, null]], "Notification de fichier sans t\u00e9l\u00e9chargement": [[118, "notification-de-fichier-sans-telechargement"]], "Notifications for DD": [[47, "notifications-for-dd"]], "Notifications on DD": [[46, "notifications-on-dd"]], "Notifications pour DD": [[79, "notifications-pour-dd"]], "Notifications sur DD": [[80, "notifications-sur-dd"]], "N\u00e9cessite RABBITMQ > 3.3.3.x": [[80, "necessite-rabbitmq-3-3-3-x"]], "ONE TO MANY FILTER": [[40, "one-to-many-filter"]], "ONE TO ONE FILTER": [[40, "one-to-one-filter"]], "OPTION TYPES": [[63, "option-types"]], "OPTIONS": [[60, "options"], [63, "options"], [125, "options"], [128, "options"]], "OPTIONS DE COMPATIBILIT\u00c9 SUNDEW": [[108, "options-de-compatibilite-sundew"]], "OPTIONS SR3": [[128, null]], "Object Stores": [[8, "Object-Stores"]], "Observations": [[11, "Observations"]], "Observations:": [[9, "Observations:"]], "OpenStack": [[0, "openstack"], [90, "openstack"]], "Operations": [[46, "operations"]], "Optimiser la s\u00e9lection des fichiers par processus": [[88, "optimiser-la-selection-des-fichiers-par-processus"]], "Optimization Possibilities": [[65, "optimization-possibilities"]], "Optimize File Selection per Process": [[55, "optimize-file-selection-per-process"]], "Optional Headers": [[65, "optional-headers"]], "Options": [[56, "options"], [89, "options"]], "Options callback": [[108, "options-callback"]], "Options obligatoires": [[129, "options-obligatoires"]], "Op\u00e9rations": [[80, "operations"]], "Other Examples": [[49, "other-examples"], [67, "Other-Examples"], [132, "Other-Examples"]], "Other Parameters": [[0, "other-parameters"]], "Other Report Fields": [[65, "other-report-fields"]], "Outage": [[55, "outage"]], "Outillage": [[93, "outillage"]], "Overall Server Algorithmic Ceiling": [[11, "Overall-Server-Algorithmic-Ceiling"]], "Overheads": [[29, "overheads"]], "Override Fields": [[49, "override-fields"]], "Overview": [[38, null], [46, "overview"]], "O\u00f9 documenter les options": [[93, "ou-documenter-les-options"]], "PDS Algorithmic Design": [[9, null]], "PDS-OP receptions of dispatch notification messages, wget of radar products": [[47, "pds-op-receptions-of-dispatch-notification-messages-wget-of-radar-products"]], "PERIODIC PROCESSING": [[21, "periodic-processing"]], "PIP": [[71, "id1"], [136, "id1"]], "POLL": [[21, "poll"], [108, "poll"]], "POLLING": [[21, "polling"]], "POST or WATCH": [[21, "post-or-watch"], [108, "post-or-watch"]], "POSTING": [[21, "posting"]], "PUBLICATION (POST)": [[108, "publication-post"]], "Packages": [[71, "packages"]], "Panne trop longue": [[88, "panne-trop-longue"]], "Paquets": [[136, "paquets"]], "Parallel": [[20, "parallel"], [101, "parallel"]], "Param\u00e8tres": [[118, "parametres"]], "Param\u00e8tres hi\u00e9rarchiques": [[118, "parametres-hierarchiques"]], "Partitionnement de fichiers": [[108, "partitionnement-de-fichiers"]], "Pas cuit / \u00c0 penser": [[101, "pas-cuit-a-penser"]], "Pas de FTP ?": [[103, "pas-de-ftp"]], "Performance": [[55, "performance"], [88, "performance"]], "Periodic Processing/Cron Jobs": [[71, "periodic-processing-cron-jobs"]], "Personnalisation de la suppression des doublons": [[83, "personnalisation-de-la-suppression-des-doublons"]], "Personnalisation de post_exchangeSplit": [[83, "personnalisation-de-post-exchangesplit"]], "Personnalisation du Callback de Flux de Poll": [[118, "personnalisation-du-callback-de-flux-de-poll"]], "Personnalisez la gestion des fichiers avec les rappels.": [[132, null]], "Perte de donn\u00e9es": [[88, "perte-de-donnees"]], "Peu de donn\u00e9es": [[90, "peu-de-donnees"]], "Pile Intel/Cray HPC": [[90, "pile-intel-cray-hpc"]], "Pip install locale": [[93, "pip-install-locale"]], "Placement de Fichier": [[89, "placement-de-fichier"]], "Plan concret (Fait)": [[101, "plan-concret-fait"]], "Plans de Pompes": [[106, "plans-de-pompes"]], "Plugins": [[55, "plugins"], [88, "plugins"]], "Plugins That Change How a File is Downloaded": [[67, "Plugins-That-Change-How-a-File-is-Downloaded"]], "Plugins That Create New Files": [[67, "Plugins-That-Create-New-Files"]], "Plugins qui Cr\u00e9ent de Nouveaux Fichiers": [[132, "Plugins-qui-Cr\u00e9ent-de-Nouveaux-Fichiers"]], "Plugins qui Traitent un Fichier apr\u00e8s son T\u00e9l\u00e9chargement": [[132, "Plugins-qui-Traitent-un-Fichier-apr\u00e8s-son-T\u00e9l\u00e9chargement"]], "Plugins qui changent la fa\u00e7on dont un fichier est t\u00e9l\u00e9charg\u00e9": [[132, "Plugins-qui-changent-la-fa\u00e7on-dont-un-fichier-est-t\u00e9l\u00e9charg\u00e9"]], "Plugins qui renomment les fichiers": [[132, "Plugins-qui-renomment-les-fichiers"]], "Plugins that Process a file after it is Downloaded": [[67, "Plugins-that-Process-a-file-after-it-is-Downloaded"]], "Plugins that Rename Files": [[67, "Plugins-that-Rename-Files"]], "Plugins v2 Obsol\u00e8tes": [[108, "plugins-v2-obsoletes"]], "Plus d\u2019informations": [[88, "plus-dinformations"]], "Points de rappel de flux": [[118, "points-de-rappel-de-flux"]], "Points d\u2019entr\u00e9e": [[83, "points-dentree"]], "Polling": [[39, "polling"], [48, "polling"], [84, "polling"], [118, "polling"]], "Polling External Sources": [[54, "polling-external-sources"]], "Polling Protocols Natively Supported": [[50, "polling-protocols-natively-supported"]], "Pompe": [[107, "pompe"]], "Pompes sans Donn\u00e9es (anglais: Dataless Pumps)": [[107, "pompes-sans-donnees-anglais-dataless-pumps"]], "Portage des plugins V2 vers Sr3": [[89, null]], "Porting V2 Plugins to Sr3": [[56, null]], "Possibilit\u00e9s d\u2019optimisation": [[130, "possibilites-doptimisation"]], "Post, Notice, Notification, Advertisement, Announcement": [[27, "post-notice-notification-advertisement-announcement"]], "Post-Release": [[14, "post-release"]], "Poste, Notice, Notification, Avis, Annonce": [[107, "poste-notice-notification-avis-annonce"]], "Posting from Python Code": [[70, null]], "Pourquoi SFTP est plus souvent choisi que FTPS": [[122, null]], "Pourquoi l\u2019API v3 doit \u00eatre utilis\u00e9e dans la mesure du possible": [[118, "pourquoi-lapi-v3-doit-etre-utilisee-dans-la-mesure-du-possible"]], "Pourquoi ne pas simplement utiliser Rsync ?": [[103, "pourquoi-ne-pas-simplement-utiliser-rsync"]], "Pourquoi utiliser AMQP?": [[90, "pourquoi-utiliser-amqp"]], "Pre-Release Overview": [[14, "pre-release-overview"]], "Pre-Requisites": [[46, "pre-requisites"]], "Premier abonnement": [[80, "premier-abonnement"]], "Prepare a Vanilla VM": [[3, "prepare-a-vanilla-vm"]], "Prerequisites": [[66, "Prerequisites"]], "Priorities": [[32, "priorities"]], "Priorit\u00e9s": [[114, "priorites"]], "Privileged System Access": [[23, "privileged-system-access"]], "Problem Statement": [[29, "problem-statement"]], "Problems/Weaknesses of Sundew:": [[11, "Problems/Weaknesses-of-Sundew:"]], "Probl\u00e8mes connus (r\u00e9solus dans sr3)": [[101, "problemes-connus-resolus-dans-sr3"]], "Process": [[4, "process"]], "Processing": [[4, "processing"]], "Processus": [[92, "processus"]], "Processus de Pre-Publication": [[95, "processus-de-pre-publication"]], "Processus de Publication de Version Stable": [[95, "processus-de-publication-de-version-stable"]], "Processus de Renommage": [[119, "processus-de-renommage"]], "Processus manuel": [[95, "processus-manuel"]], "Product Exchangers: Supporting Large Numbers of Transfers": [[45, "product-exchangers-supporting-large-numbers-of-transfers"]], "Programmability/Interoperability": [[32, "programmability-interoperability"]], "Programmabilit\u00e9/interop\u00e9rabilit\u00e9": [[114, "programmabilite-interoperabilite"]], "Project Website": [[28, "project-website"]], "Proof": [[8, "Proof"]], "Protocoles de polling pris en charge en mode natif": [[82, "protocoles-de-polling-pris-en-charge-en-mode-natif"]], "Proxys Web": [[88, "proxys-web"]], "Pr\u00e9-requis": [[80, "pre-requis"]], "Pr\u00e9parer une machine virtuelle Vanilla": [[93, "preparer-une-machine-virtuelle-vanilla"]], "Pr\u00e9requis": [[131, "Pr\u00e9requis"]], "Pr\u00e9sentation de la solution HPCR": [[111, "presentation-de-la-solution-hpcr"]], "Publication \u00e0 partir du code Python": [[135, null]], "Publie la Disponibilit\u00e9e d\u2019un fichier aux abonn\u00e9s.": [[129, "publie-la-disponibilitee-d-un-fichier-aux-abonnes"]], "Publier une Version de MetPX-Sarracenia": [[95, null]], "Publish the Availability of Files": [[64, "publish-the-availability-of-files"]], "Pump": [[27, "pump"]], "Pumping Network": [[27, "pumping-network"]], "PyPi": [[14, "pypi"], [95, "pypi"]], "Python Wheel": [[3, "python-wheel"], [93, "python-wheel"]], "QUEUES and MULTIPLE STREAMS": [[21, "queues-and-multiple-streams"], [108, "queues-and-multiple-streams"]], "Quality Assurance": [[14, "quality-assurance"]], "Quand signaler": [[93, "quand-signaler"]], "Que se passe-t-il ?": [[80, "que-se-passe-t-il"]], "Que se passe-t-il si chaque notification concerne un bloc, pas un fichier ?": [[97, "que-se-passe-t-il-si-chaque-notification-concerne-un-bloc-pas-un-fichier"]], "Quickly Announcing Very Large Trees On Linux": [[54, "quickly-announcing-very-large-trees-on-linux"], [87, "quickly-announcing-very-large-trees-on-linux"]], "Quorum and Voting:": [[8, "Quorum-and-Voting:"]], "RABBITMQ-SERVER cluster installation": [[47, "rabbitmq-server-cluster-installation"]], "RABBITMQ-SERVER installation": [[47, "rabbitmq-server-installation"]], "RABBITMQ-SERVER ldap installation": [[47, "rabbitmq-server-ldap-installation"]], "RADAR": [[112, "radar"]], "RADAR Data Flows": [[30, "radar-data-flows"]], "RELATED CLIENTS": [[42, "related-clients"]], "ROLES - feeder/admin/declare": [[21, "roles-feeder-admin-declare"], [108, "roles-feeder-admin-declare"]], "Rabbitmq Setup": [[46, "rabbitmq-setup"]], "Rappels de Flux (Flow Callbacks)": [[118, "rappels-de-flux-flow-callbacks"]], "Rapports": [[80, "rapports"]], "Reading the Tree Takes Too Long": [[29, "reading-the-tree-takes-too-long"]], "Receiver": [[9, "Receiver"]], "Receiving Data from a MetPX-Sarracenia Data Pump": [[55, "receiving-data-from-a-metpx-sarracenia-data-pump"]], "Redhat/Suse Distros (rpm based)": [[71, "redhat-suse-distros-rpm-based"]], "Redundant File Reception": [[55, "redundant-file-reception"]], "Refactorisation de la version 3": [[101, null]], "Reference": [[4, "reference"], [59, null]], "References & Links": [[38, "references-links"]], "Refining Selection": [[55, "refining-selection"]], "Releasing MetPX-Sarracenia": [[14, null]], "Relevance?": [[7, "Relevance?"]], "Reliability and Checksums": [[54, "reliability-and-checksums"]], "Reliability/Complexity": [[45, "reliability-complexity"]], "Remote Configurations": [[21, "remote-configurations"], [60, "remote-configurations"], [108, "remote-configurations"]], "Remplacement": [[101, "remplacement"]], "Rename Processing": [[24, "rename-processing"], [64, "rename-processing"]], "Renommage dd_subscribe": [[110, "renommage-dd-subscribe"]], "Repeated Scans and VIP": [[21, "repeated-scans-and-vip"]], "Replacement": [[20, "replacement"]], "Report Messages": [[54, "report-messages"], [65, "report-messages"], [130, "report-messages"]], "Report messages": [[27, "report-messages"]], "Report_Code": [[65, "report-code"], [130, "report-code"]], "Reports": [[46, "reports"]], "Repositories": [[3, "repositories"]], "Repositories & Recipes": [[14, "repositories-recipes"]], "Requires RABBITMQ > 3.3.x": [[46, "requires-rabbitmq-3-3-x"]], "Ressources c\u00f4t\u00e9 serveur allou\u00e9es aux abonn\u00e9s": [[88, "ressources-cote-serveur-allouees-aux-abonnes"]], "Review": [[0, "review"]], "Revision Record": [[39, "revision-record"], [54, "revision-record"], [55, "revision-record"], [71, "revision-record"]], "Roll Your Own": [[25, "roll-your-own"]], "Routage": [[80, "routage"]], "Routing": [[46, "routing"]], "Routing 1 Product": [[9, "Routing-1-Product"]], "Run A Flow Test": [[3, "run-a-flow-test"]], "Running Flow Tests": [[3, "running-flow-tests"]], "Running MetPX via Docker": [[52, null]], "Running Sarracenia with a Command Prompt": [[74, "running-sarracenia-with-a-command-prompt"]], "Running Sarracenia without a Command Prompt": [[74, "running-sarracenia-without-a-command-prompt"]], "R\u00c9CUP\u00c9RATION D\u2019ERREUR": [[108, "recuperation-derreur"]], "R\u00e9assemblage de fichiers": [[96, null]], "R\u00e9ception avanc\u00e9e des fichiers": [[118, "reception-avancee-des-fichiers"]], "R\u00e9ception de donn\u00e9es \u00e0 partir d\u2019une pompe de donn\u00e9es MetPX-Sarracenia": [[88, "reception-de-donnees-a-partir-dune-pompe-de-donnees-metpx-sarracenia"]], "R\u00e9ception de fichiers redondants": [[88, "reception-de-fichiers-redondants"]], "R\u00e9ceptions PDS-OP de messages de notification de r\u00e9partition, wget de produits radar": [[79, "receptions-pds-op-de-messages-de-notification-de-repartition-wget-de-produits-radar"]], "R\u00e9f\u00e9rence": [[92, "reference"], [124, null]], "R\u00e9f\u00e9rences et liens": [[103, "references-et-liens"]], "R\u00e9glage de Broker": [[108, "reglage-de-broker"]], "R\u00e9glage du d\u00e9bogage flowcb/log.py": [[88, "reglage-du-debogage-flowcb-log-py"]], "R\u00e9glage du d\u00e9bogage moth": [[88, "reglage-du-debogage-moth"]], "R\u00e9seau de Pompage (anglais: Pumping Network)": [[107, "reseau-de-pompage-anglais-pumping-network"]], "R\u00e9sum\u00e9": [[101, "resume"], [111, "resume"], [114, "resume"], [122, "resume"]], "R\u00e9troportage d\u2019une d\u00e9pendance": [[95, "retroportage-dune-dependance"]], "R\u00e9vision": [[90, "revision"]], "R\u00e9vision de l\u2019Accel": [[101, "revision-de-laccel"]], "SARRA": [[21, "sarra"], [108, "sarra"]], "SEE ALSO": [[17, "see-also"], [42, "see-also"], [60, "see-also"], [61, "see-also"], [62, "see-also"], [63, "see-also"], [64, "see-also"], [65, "see-also"], [128, "see-also"]], "SENDER": [[21, "sender"], [108, "sender"]], "SETUP": [[43, "setup"]], "SETUP 1 : PUMP TO PUMP REPLICATION": [[21, "setup-1-pump-to-pump-replication"]], "SFTP Injection": [[54, "sftp-injection"]], "SHC SOAP Web Service": [[50, "shc-soap-web-service"]], "SHIM LIBRARY USAGE": [[24, "shim-library-usage"], [64, "shim-library-usage"], [119, "shim-library-usage"]], "SHOVEL": [[21, "shovel"], [108, "shovel"]], "SONDAGE (POLLING)": [[108, "sondage-polling"]], "SR3": [[60, null], [66, "SR3"], [125, null], [131, "SR3"]], "SR3 - Everything": [[21, "sr3-everything"]], "SR3 - Tout": [[108, "sr3-tout"]], "SR3 CREDENTIALS": [[62, null], [127, null]], "SR3 Configuration File Format": [[63, "sr3-configuration-file-format"]], "SR3 Credential File Format": [[62, "sr3-credential-file-format"]], "SR3 Credential: Format du Fichier": [[127, "sr3-credential-format-du-fichier"]], "SR3 OPTIONS": [[63, null]], "SR3_TITLE": [[17, null]], "SR3_TITRE": [[99, null]], "SR_CPUMP": [[61, null], [126, null]], "SR_DEV_APPNAME": [[63, "sr-dev-appname"], [128, "sr-dev-appname"]], "SR_POLL CONFIG": [[42, "sr-poll-config"]], "SR_SARRA CONFIG": [[42, "sr-sarra-config"]], "SR_post": [[65, null], [130, null]], "STATUS: Stable/Default": [[65, "status-stable-default"], [130, "status-stable-default"]], "STATUS: WIP": [[6, null]], "SUBSCRIBE": [[21, "subscribe"], [108, "subscribe"]], "SUNDEW COMPATIBILITY OPTIONS": [[21, "sundew-compatibility-options"]], "SUNDEW SENDER CONVERSION PROCESS": [[43, "sundew-sender-conversion-process"]], "SYNOPSIS": [[17, "synopsis"], [60, "synopsis"], [61, "synopsis"], [63, "synopsis"], [64, "synopsis"], [65, "synopsis"], [99, "synopsis"], [125, "synopsis"], [126, "synopsis"], [128, "synopsis"], [129, "synopsis"], [130, "synopsis"]], "Sample Extensions": [[39, "sample-extensions"], [118, "sample-extensions"]], "Sample Flow Callback Class": [[67, "Sample-Flow-Callback-Class"]], "Sample Flowcb Sub-Class": [[49, "sample-flowcb-sub-class"], [67, "Sample-Flowcb-Sub-Class"]], "Sarra D\u2019une source": [[80, "sarra-d-une-source"]], "Sarra From a Source": [[46, "sarra-from-a-source"]], "Sarra d\u2019une autre pompe": [[80, "sarra-d-une-autre-pompe"]], "Sarra from Another Pump": [[46, "sarra-from-another-pump"]], "Sarrac": [[71, "sarrac"], [136, "sarrac"]], "Sarracenia": [[78, "sarracenia"]], "Sarracenia Algorithmic Design": [[11, null]], "Sarracenia Design Philosophy": [[13, null]], "Sarracenia Janvier 2018": [[112, null]], "Sarracenia Programming Guide": [[39, null]], "Sarracenia Status January 2018": [[30, null]], "Sarracenia est une application MQP": [[90, "sarracenia-est-une-application-mqp"]], "Sarracenia is an MQP Application": [[0, "sarracenia-is-an-mqp-application"]], "Sarracenia v03 Notification Message Format/Protocol": [[65, "sarracenia-v03-notification-message-format-protocol"]], "Sarracenia.FlowCB": [[78, "sarracenia-flowcb"]], "Sarracenia.Moth": [[78, "sarracenia-moth"]], "Sarracenia: File Systems Flying in Formation": [[8, "Sarracenia:-File-Systems-Flying-in-Formation"]], "Scans r\u00e9p\u00e9t\u00e9s et VIP": [[108, "scans-repetes-et-vip"]], "Scheduled Flow": [[56, "scheduled-flow"]], "Sch\u00e9ma de contr\u00f4le de version": [[95, "schema-de-controle-de-version"]], "Security Considerations": [[23, "security-considerations"]], "Security/Vulnerability": [[45, "security-vulnerability"]], "Sender": [[9, "Sender"]], "Serial Example": [[7, "Serial-Example"]], "Server Admin: A Local Subscriber": [[72, null]], "Server-Side Resources Allocated for Subscribers": [[55, "server-side-resources-allocated-for-subscribers"]], "Server/Broker": [[23, "server-broker"]], "Server/Protocol Considerations": [[15, "server-protocol-considerations"]], "Serveur/courtier": [[106, "serveur-courtier"]], "Service Web SHC SOAP": [[82, "service-web-shc-soap"]], "Service Web de valeurs instantan\u00e9es USGS": [[82, "service-web-de-valeurs-instantanees-usgs"]], "Set the Version": [[14, "set-the-version"]], "Setting the Broker": [[21, "setting-the-broker"]], "Settings": [[39, "settings"]], "Setup": [[73, "setup"]], "Setup Flow Test Environment": [[3, "setup-flow-test-environment"]], "Shared Subscriptions": [[18, "shared-subscriptions"]], "Shim Library": [[29, "shim-library"]], "Shim Library Necessary": [[29, "shim-library-necessary"]], "Shim Usage Notes": [[24, "shim-usage-notes"], [119, "shim-usage-notes"]], "Shim Usage Tips": [[64, "shim-usage-tips"]], "Ship of Theseus": [[20, "ship-of-theseus"]], "Si nous faisons des cksums par blocs, chemin \u00e0 partir de v00": [[97, "si-nous-faisons-des-cksums-par-blocs-chemin-a-partir-de-v00"]], "Simple/Scalable Peer Configurations for Nations": [[32, "simple-scalable-peer-configurations-for-nations"]], "Site web du projet": [[110, "site-web-du-projet"]], "So Sarracenia is Not a Parallel App!": [[7, "So-Sarracenia-is-Not-a-Parallel-App!"]], "Sondage avanc\u00e9 (Advanced Polling)": [[108, "sondage-avance-advanced-polling"]], "Sortie d\u2019Ex\u00e9cution": [[132, "Sortie-d'Ex\u00e9cution"]], "Source": [[27, "source"], [71, "source"], [107, "source"], [136, "source"]], "Sources de donn\u00e9es": [[87, null]], "Specific Consuming Requirements": [[21, "specific-consuming-requirements"]], "Speedup": [[7, "Speedup"]], "Sr3_Post": [[64, null], [129, null]], "Sr_Poll": [[46, "sr-poll"], [80, "sr-poll"]], "Sr_sender": [[46, "sr-sender"], [80, "sr-sender"]], "Sr_winnow": [[46, "sr-winnow"], [80, "sr-winnow"]], "Stable Release Process": [[14, "stable-release-process"]], "Standalone": [[23, "standalone"]], "Standard (bas\u00e9 sur le chemin et contenu)": [[120, "standard-base-sur-le-chemin-et-contenu"]], "Standard (path and data oriented)": [[25, "standard-path-and-data-oriented"]], "Standards": [[65, "standards"], [130, "standards"]], "Startup": [[46, "startup"], [73, "startup"]], "State of the Code": [[20, "state-of-the-code"]], "Statelessness/Crawlable": [[32, "statelessness-crawlable"]], "Static Flow": [[3, "static-flow"], [93, "static-flow"]], "Storage/State": [[8, "Storage/State"]], "Store And Forward est souvent meilleur dans la pratique": [[114, "store-and-forward-est-souvent-meilleur-dans-la-pratique"]], "Store And Forward is Often Better in Practice": [[32, "store-and-forward-is-often-better-in-practice"]], "Structure des dossiers": [[92, "structure-des-dossiers"]], "Style Guide": [[4, "style-guide"]], "Style de Code": [[92, "style-de-code"]], "Subclassing Flow": [[49, "subclassing-flow"]], "Subscribe and Replicate 3": [[142, null]], "Subscriber Guide": [[55, null]], "Subscribers": [[27, "subscribers"]], "Substitutions Compatible Sundew": [[128, "substitutions-compatible-sundew"]], "Summary": [[7, "Summary"], [20, "summary"], [29, "summary"], [45, "summary"]], "Sundew": [[27, "sundew"], [107, "sundew"]], "Sundew Algorithmic Design": [[12, null]], "Sundew Compatible Substituions": [[63, "sundew-compatible-substituions"]], "Sundew Migration Guide": [[41, null]], "Sundew Routing cost:": [[12, "Sundew-Routing-cost:"]], "Sundew filter migration to sarracenia (PXATX)": [[40, null]], "Sundew pull migration to sarracenia (PXATX)": [[42, null]], "Sundew sender migration to sarracenia (PXATX)": [[43, null]], "Support": [[46, "support"], [80, "support"]], "Suppression de Doublons": [[120, null]], "Suppression des doublons haute performance": [[88, "suppression-des-doublons-haute-performance"]], "Switching/Routing": [[23, "switching-routing"]], "System Startup and Shutdown": [[71, "system-startup-and-shutdown"]], "S\u00b4abonner et r\u00e9pliquer": [[141, null]], "S\u00e9curit\u00e9/Vuln\u00e9rabilit\u00e9": [[122, "securite-vulnerabilite"]], "S\u00e9lection des fonctionnalit\u00e9s AMQP": [[90, "selection-des-fonctionnalites-amqp"]], "S\u2019assurer que les choses sont en place": [[80, "sassurer-que-les-choses-sont-en-place"]], "TESTING": [[42, "testing"]], "THANKS!": [[7, "THANKS!"]], "THE FIXED HEADERS": [[65, "the-fixed-headers"]], "TH\u00c8ME (TOPIC)": [[130, "theme-topic"]], "TLS": [[46, "tls"], [80, "tls"]], "TODO": [[20, "todo"], [101, "id1"]], "TOPIC": [[65, "topic"]], "TRAITEMENT P\u00c9RIODIQUE": [[108, "traitement-periodique"]], "TYPES D\u2019OPTIONS": [[128, "types-d-options"]], "Table 1: The Algorithm for All Components": [[22, "id1"]], "Table 2: How Each Component Uses the Flow Algorithm": [[22, "id2"]], "Table of v2 and sr3 Equivalents": [[56, "table-of-v2-and-sr3-equivalents"], [89, "table-of-v2-and-sr3-equivalents"]], "Tableau 1 : Algorithme pour tous les composants": [[105, "id1"]], "Tableau 2 : Utilisation de l\u2019algorithme de flux par chaque composant": [[105, "id2"]], "Tableau de Inflight": [[104, "tableau-de-inflight"]], "Tableau de strat\u00e9gie de d\u00e9tection de fichiers": [[119, "tableau-de-strategie-de-detection-de-fichiers"]], "Test": [[96, "test"]], "Testing": [[19, "testing"]], "Tests unitaires": [[93, "tests-unitaires"]], "Thanks!": [[8, "Thanks!"]], "The Algorithmic Cost to Route 1 File": [[11, "The-Algorithmic-Cost-to-Route-1-File"]], "The Flow Algorithm": [[22, "the-flow-algorithm"], [39, "the-flow-algorithm"]], "The Simplest Flow_Callback": [[39, "the-simplest-flow-callback"], [118, "the-simplest-flow-callback"]], "ToDo": [[101, "todo"]], "Too slow, Queue Too Large": [[55, "too-slow-queue-too-large"]], "Tools you Need": [[3, "tools-you-need"]], "Topic-based Exchanges": [[0, "topic-based-exchanges"]], "Traduction de terminologie": [[123, null]], "Traitement": [[92, "traitement"]], "Traitement IP virtuel dans le poll": [[89, "traitement-ip-virtuel-dans-le-poll"]], "Traitement de renommage": [[129, "traitement-de-renommage"]], "Traitement p\u00e9riodique/T\u00e2ches Cron": [[136, "traitement-periodique-taches-cron"]], "Transfer": [[21, "transfer"], [108, "transfer"]], "Transferts sans Donn\u00e9es (Dataless Transfers)": [[107, "transferts-sans-donnees-dataless-transfers"]], "Transition": [[20, "transition"], [101, "transition"]], "Transport Engines": [[23, "transport-engines"]], "Travailler avec des plugins": [[118, "travailler-avec-des-plugins"]], "Troubleshooting": [[14, "troubleshooting"]], "Trucs d\u2019utilisation de shim": [[129, "trucs-d-utilisation-de-shim"]], "Tutorials": [[4, "tutorials"], [75, null]], "Tutoriel": [[140, null]], "Tutoriels": [[92, "tutoriels"]], "T\u00e9l\u00e9chargement": [[84, "telechargement"]], "T\u00e9l\u00e9chargement en utilisant la console": [[131, null]], "T\u00e9l\u00e9charger des donn\u00e9es avec Python": [[134, "T\u00e9l\u00e9charger-des-donn\u00e9es-avec-Python"]], "UPGRADE GUIDE": [[51, null]], "URP": [[25, "urp"], [120, "urp"]], "USGS Instantaneous Values Web Service": [[50, "usgs-instantaneous-values-web-service"]], "UTILISATION DE LA LIBRAIRIE SHIM": [[129, "utilisation-de-la-librairie-shim"]], "Ubuntu 18.04": [[3, "ubuntu-18-04"], [95, "ubuntu-18-04"]], "Ubuntu/Debian (apt/dpkg) Recommand\u00e9": [[136, "ubuntu-debian-apt-dpkg-recommande"]], "Ubuntu/Debian (apt/dpkg) Recommended": [[71, "ubuntu-debian-apt-dpkg-recommended"]], "Un Autre Exemple": [[130, "un-autre-exemple"]], "Un premier exemple utilisant l\u2019API Sarracenia Moth": [[134, null]], "Unit": [[3, "unit"], [93, "unit"]], "Unit tests": [[3, "unit-tests"]], "Universal Write Scaling": [[8, "Universal-Write-Scaling"]], "Updating The sf.net Website": [[28, "updating-the-sf-net-website"]], "Use Case": [[48, "use-case"], [50, "use-case"]], "Use Folders/Directories": [[11, "Use-Folders/Directories"]], "Use Instances": [[55, "use-instances"]], "Use of AMQP on DD (DDI, DD.BETA)": [[47, "use-of-amqp-on-dd-ddi-dd-beta"]], "User Headers": [[54, "user-headers"]], "Users and Roles": [[22, "users-and-roles"]], "Using AMQP with URP, BUNNY, PDS-OP": [[47, "using-amqp-with-urp-bunny-pds-op"]], "Using An Open Reference Stack": [[32, "using-an-open-reference-stack"]], "Using Credentials in Plugins": [[39, "using-credentials-in-plugins"]], "Using Plugins to Grab Hydrometric Data (v2)": [[50, null]], "Utilisateurs et r\u00f4les": [[105, "utilisateurs-et-roles"]], "Utilisation de l\u2019AMQP sur DD (DDI, DD.BETA)": [[79, "utilisation-de-lamqp-sur-dd-ddi-dd-beta"]], "Utilisation de plugins pour r\u00e9cup\u00e9rer des donn\u00e9es hydrom\u00e9triques": [[82, null]], "Utilisation de plusieurs configurations": [[88, "utilisation-de-plusieurs-configurations"]], "Utilisation des Identifiants dans les Plugins": [[118, "utilisation-des-identifiants-dans-les-plugins"]], "Utilisation d\u2019AMQP avec URP, BUNNY, PDS-OP": [[79, "utilisation-damqp-avec-urp-bunny-pds-op"]], "Utilisation d\u2019une pile (stack)de r\u00e9f\u00e9rence ouverte": [[114, "utilisation-d-une-pile-stack-de-reference-ouverte"]], "Utiliser des instances": [[88, "utiliser-des-instances"]], "Utilitaires install\u00e9s sur les serveurs DD": [[79, "utilitaires-installes-sur-les-serveurs-dd"]], "Utilities installed on DD servers": [[47, "utilities-installed-on-dd-servers"]], "V02 Plugin Pain Points": [[20, "v02-plugin-pain-points"]], "V02 Plugin Points douloureux": [[101, "v02-plugin-points-douloureux"]], "V2 to Sr3": [[51, "v2-to-sr3"], [85, "v2-to-sr3"]], "VARIABLES D\u2019ENVIRONMENT": [[99, "variables-d-environment"]], "VARIABLES ENVIRONNEMENTALES": [[126, "variables-environnementales"], [129, "variables-environnementales"]], "VOIR AUSSI": [[99, "voir-aussi"], [125, "voir-aussi"], [126, "voir-aussi"], [127, "voir-aussi"], [130, "voir-aussi"]], "Validation des entr\u00e9es": [[106, "validation-des-entrees"]], "Variables": [[63, "variables"], [128, "variables"]], "Verification / Troubleshooting": [[47, "verification-troubleshooting"]], "Version 3 Refactor": [[20, null]], "Versioning Scheme": [[14, "versioning-scheme"]], "Viewing all Settings": [[39, "viewing-all-settings"]], "Virtual IP processing in poll": [[56, "virtual-ip-processing-in-poll"]], "Voir aussi": [[129, "voir-aussi"]], "Voting Failure Modes": [[8, "Voting-Failure-Modes"]], "V\u00e9rification / D\u00e9pannage": [[79, "verification-depannage"]], "WATCH": [[21, "watch"], [108, "watch"]], "WINNOW": [[21, "winnow"], [108, "winnow"]], "WMO": [[27, "wmo"], [107, "wmo"]], "Weather Application Flows": [[30, "weather-application-flows"]], "Weatheroffice citypages": [[25, "weatheroffice-citypages"]], "Web Proxies": [[55, "web-proxies"]], "Web Sites with non-standard file listings": [[49, "web-sites-with-non-standard-file-listings"]], "WebUI": [[46, "webui"], [80, "webui"]], "What If Each Notification is for a Block, not a File ?": [[15, "what-if-each-notification-is-for-a-block-not-a-file"]], "What Will Work Without Change": [[56, "what-will-work-without-change"]], "What Won\u2019t Work Without Change": [[56, "what-won-t-work-without-change"]], "What difference did it make?": [[12, "What-difference-did-it-make?"]], "What is Amdahl\u2019s Law?": [[7, "What-is-Amdahl's-Law?"]], "What is Going On?": [[46, "what-is-going-on"]], "When to Report": [[3, "when-to-report"]], "Where does AMQP Come From?": [[0, "where-does-amqp-come-from"]], "Where to Put Options": [[3, "where-to-put-options"]], "Why No FTP?": [[38, "why-no-ftp"]], "Why Not Just Use Rsync?": [[38, "why-not-just-use-rsync"]], "Why SFTP is More Often Chosen than FTPS": [[45, null]], "Why Use AMQP?": [[0, "why-use-amqp"]], "Why rST?": [[4, "why-rst"], [92, "why-rst"]], "Why v3 API should be used whenever possible": [[39, "why-v3-api-should-be-used-whenever-possible"]], "Windows": [[3, "windows"], [71, "windows"], [93, "windows"], [136, "windows"]], "Windows user manual": [[74, null]], "Winnowed Dataless": [[23, "winnowed-dataless"]], "With AMQP Notices on a Standard File Server": [[32, "with-amqp-notices-on-a-standard-file-server"]], "Working with Multiple Configurations": [[55, "working-with-multiple-configurations"]], "Working with Plugins": [[39, "working-with-plugins"]], "Worklists": [[39, "worklists"], [49, "worklists"], [67, "Worklists"], [83, "worklists"]], "Worries Addressed": [[20, "worries-addressed"]], "Write it in Python": [[12, "Write-it-in-Python"], [12, "id3"]], "Writing FlowCallback Plugins": [[49, null]], "Writing Your Own Callbacks": [[67, "Writing-Your-Own-Callbacks"]], "Yes, Exactly.": [[7, "Yes,-Exactly."]], "[-pbd|\u2013post_baseDir ] (facultatif)": [[108, "pbd-post-basedir-path-facultatif"]], "[-pbd|\u2013post_baseDir ] (optional)": [[21, "pbd-post-basedir-path-optional"]], "[\u2013blocksize ] (default: 0 (auto))": [[21, "blocksize-value-default-0-auto"], [108, "blocksize-value-default-0-auto"]], "accelThreshold default: 0 (disabled.)": [[63, "accelthreshold-size-default-0-disabled"]], "accelTreshold d\u00e9faut: 0 (d\u00e9sactiver.)": [[128, "acceltreshold-size-defaut-0-desactiver"]], "accelXxxCommand": [[63, "accelxxxcommand"], [128, "accelxxxcommand"]], "accept, reject and acceptUnmatched": [[63, "accept-reject-and-acceptunmatched"]], "accept, reject and accept_unmatch": [[21, "accept-reject-and-accept-unmatch"], [108, "accept-reject-and-accept-unmatch"]], "accept, reject et acceptUnmatched": [[128, "accept-reject-et-acceptunmatched"]], "acceptSizeWrong: (default: False)": [[63, "acceptsizewrong-boolean-default-false"]], "acceptSizeWrong: (d\u00e9faut: False)": [[128, "acceptsizewrong-booleen-defaut-false"]], "acquisition HPC": [[112, "acquisition-hpc"]], "atime,mtime,mode": [[65, "atime-mtime-mode"], [130, "atime-mtime-mode"]], "attempts (default: 3)": [[63, "attempts-count-default-3"]], "attempts (d\u00e9faut: 3)": [[128, "attempts-count-defaut-3"]], "baseDir (d\u00e9faut: /)": [[128, "basedir-chemin-defaut"]], "baseDir (default: /)": [[63, "basedir-path-default"]], "baseUrl_relPath (default: off)": [[63, "baseurl-relpath-flag-default-off"]], "baseUrl_relPath (d\u00e9faut: off)": [[128, "baseurl-relpath-flag-defaut-off"]], "batch (default: 100)": [[63, "batch-count-default-100"]], "batch (d\u00e9faut: 100)": [[128, "batch-count-defaut-100"]], "blockSize default: 0 (auto)": [[63, "blocksize-size-default-0-auto"]], "blockSize d\u00e9faut: 0 (auto)": [[128, "blocksize-size-defaut-0-auto"]], "blocksize ": [[64, "blocksize-value"], [129, "blocksize-value"]], "broker": [[63, "broker"]], "bufSize (default: 1MB)": [[63, "bufsize-size-default-1mb"]], "bufSize (d\u00e9faut: 1m)": [[128, "bufsize-size-defaut-1m"]], "byteRateMax (default: 0)": [[63, "byteratemax-size-default-0"]], "byteRateMax (d\u00e9faut: 0)": [[128, "byteratemax-size-defaut-0"]], "callback ": [[128, "callback-speficationdeclass"]], "callback ": [[63, "callback-classspec"]], "callback options": [[21, "callback-options"]], "callback_prepend ": [[128, "callback-prepend-specificationdeclass"]], "callback_prepend ": [[63, "callback-prepend-classspec"]], "cas d\u00b4usage": [[120, "cas-d-usage"]], "cfg.batch": [[68, "cfg.batch"], [133, "cfg.batch"]], "cfg.download": [[68, "cfg.download"], [133, "cfg.download"]], "cfg.masks": [[68, "cfg.masks"], [133, "cfg.masks"]], "cfg.messageCountMax": [[68, "cfg.messageCountMax"], [133, "cfg.messageCountMax"]], "cfg.no, cfg.pid_filename": [[68, "cfg.no,-cfg.pid_filename"], [133, "cfg.no,-cfg.pid_filename"]], "convert": [[21, "convert"], [108, "convert"]], "dangerWillRobinson (default: omis)": [[128, "dangerwillrobinson-default-omis"]], "dangerWillRobinson (default: omitted)": [[63, "dangerwillrobinson-default-omitted"]], "dd_subscribe Renaming": [[28, "dd-subscribe-renaming"]], "debug": [[63, "debug"], [128, "debug"]], "declare": [[21, "declare"], [63, "declare"], [108, "declare"], [128, "declare"]], "delete (default: off)": [[63, "delete-boolean-default-off"]], "delete (d\u00e9faut: off)": [[128, "delete-booleen-defaut-off"]], "destfn_script