💾 Archived View for gemini.complete.org › filespooler-reference captured on 2024-08-18 at 17:46:07. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-07-09)

-=-=-=-=-=-=-

Filespooler Reference

The reference documentation for Filespooler[1] is here:

1: /filespooler/

https://salsa.debian.org/jgoerzen/filespooler/-/blob/main/doc/fspl.1.md

It includes:

It does NOT include detailed tutorials, which can be found at Filespooler[2].

2: /filespooler/

--------------------------------------------------------------------------------

Links to this note

3: /using-filespooler-without-queues-to-pass-more-metadata/

One frustration people sometimes have with ssh or NNCP[4] is that they'd like to pass along a lot of metadata to the receiving end. Both ssh and nncp-exec allow you to pass along command-line parameters, but neither of them permit passing along more than that. What if you have a whole host of data to pass? Maybe a dozen things, some of them optional? It would be very nice if you could pass along the environment.

4: /nncp/

5: /filespooler-append-only-queues/

In the Using Filespooler over Syncthing[6] example, we synced the entire `b64queue` directory. This is unnecessary.

6: /using-filespooler-over-syncthing/

7: /processing-filespooler-queues-without-filespooler/

All of the Filespooler[8] examples so far have focused on using `fspl queue-process` to process queue items.

8: /filespooler/

9: /handling-filespooler-command-output/

By default, Filespooler[10] doesn't do anything special with the output from the commands that `fspl queue-process` executes. If they write to stdout or stderr, you'll see this on the controlling terminal or wherever you have piped or redirected it.

10: /filespooler/

11: /processing-multiple-commands-in-a-single-filespooler-queue/

You'll notice that Filespooler[12]'s `fspl queue-process` command takes a single command. What if you want to permit the sender to select any of several commands to run?

12: /filespooler/

13: /introduction-to-filespooler/

It seems that lately I've written several shell implementations of a simple queue that enforces ordered execution of jobs that may arrive out of order. After writing this for the nth time in bash, I decided it was time to do it properly. But first, a word on the *why* of it all.

14: /parallel-processing-of-filespooler-queues/

Filespooler[15] is designed around careful sequential processing of jobs. It doesn't have native support for parallel processing; those tasks may be best left to the queue managers that specialize in them. However, there are some strategies you can consider to achieve something of this effect even in Filespooler.

15: /filespooler/

16: /using-filespooler-over-syncthing/

Filespooler[17] is a way to execute commands in strict order on a remote machine, and its communication method is by files. This is a perfect mix for Syncthing[18] (and others, but this page is about Filespooler and Syncthing).

17: /filespooler/

18: /syncthing/

19: /filespooler/

Filespooler lets you request the remote execution of programs, including stdin and environment. It can use tools such as S3, Dropbox, Syncthing[20], NNCP[21], ssh, UUCP[22], USB drives, CDs, etc. as transport; basically, a filesystem is the network for Filespooler.
Filespooler is particularly suited to distributed and Asynchronous Communication[23].

20: /syncthing/

21: /nncp/

22: /uucp/

23: /asynchronous-communication/

24: /filespooler/

Filespooler lets you request the remote execution of programs, including stdin and environment. It can use tools such as S3, Dropbox, Syncthing[25], NNCP[26], ssh, UUCP[27], USB drives, CDs, etc. as transport; basically, a filesystem is the network for Filespooler.
Filespooler is particularly suited to distributed and Asynchronous Communication[28].

25: /syncthing/

26: /nncp/

27: /uucp/

28: /asynchronous-communication/

More on www.complete.org

Homepage

Interesting Topics

How This Site is Built

About John Goerzen

Web version of this site

(c) 2022-2024 John Goerzen