Passa al contenuto principale

Semaphore file

You have to create a semaphore file to let XMLDelivery know that your delivery is ready to be processed. This is a file with:

  • The same name as the XML instructions file you have created
  • A .ok file extension - For example, if the XML file is named MyDelivery.xml its semaphore file should be named MyDelivery.xml.ok

XMLDelivery only checks that the semaphore file exists. It ignores the contents, so the file itself can be empty.

Note:

The semaphore file must be in the same directory as the XML instructions file.

How the semaphore file works

XMLDelivery regularly polls the appropriate directory, usually more than once a minute, to search for files with a *.ok extension. If one is found, it will search for the corresponding XML instructions file. If the instructions file or any of the other required files are missing, processing of that semaphore file operation stops immediately.

As a result, you should ensure that you only publish the semaphore file once everything else has been completed.

Only one semaphore file is processed during each polling cycle. Any other semaphore files are ignored and only processed when the current semaphore operation has been accepted. If there are multiple semaphore files, they are started in a random order. However, XMLDelivery can start a delivery during a polling cycle, even if others are still running.

Once a semaphore operation has been accepted, XMLDelivery removes the file from the directory.

Running and completed operations are visible in the Web UI. Any feedback is provided in the format that is defined in the polling configuration. Feedback is available:

Normally, XMLDelivery does not remember the semaphore files that it processes, so you can publish files with the same name. If you do so, ensure that:

  • You wait a reasonable amount of time before reusing a name, or:
  • You check that earlier operations have been completed
    • For example, by inspecting reports, notification emails, the Web UI, or through an API call

However, if you generate unique names for XML instructions file and semaphore file pairs, you can also configure XMLDelivery to record the names of processed files as an added precaution.