The title speaks for itself. If that’s the case, I now understand why Postie’s upload performance is slow compared to Nyuu’s under the same environment and similar settings.
Summary
When propagation checking is enabled, Postie appears to wait for the propagation delay/check of the current article before processing the next article.
This means the propagation check acts as a blocking step in the upload pipeline, which significantly reduces throughput.
From what I can see, the workflow is effectively:
- Upload article A
- Wait for the configured propagation delay
- Check propagation for article A
- Only then continue with article B
So if the propagation check delay is set to 5 seconds, Postie may spend those 5 seconds idle before moving on to the next article.
In practice, this introduces a pause between articles and slows down large uploads considerably.
Expected behavior
Uploading the next article should not be blocked by the propagation check of the previous one.
A better model would be:
- Upload pipeline continues processing the next articles
- Propagation check pipeline runs independently in the background after the configured delay
Example:
- Upload article A
- Schedule propagation check for article A after
N seconds
- Immediately continue uploading article B
- A separate worker/task performs the propagation check for article A when its delay expires
Why this would help
This would avoid introducing artificial idle time between article uploads.
Benefits:
- Better overall throughput
- Less impact from propagation delay settings
- More efficient use of upload connections/workers
- Better performance on large posts with many articles
Suggested implementation idea
Consider decoupling:
- the article upload queue
- from the propagation verification queue
For example:
- once an article is uploaded, it is placed into a
pending propagation checks queue
- a separate worker pool performs propagation checks asynchronously after the configured delay
- the upload pipeline remains free to continue processing subsequent articles
This could also be configurable, for example:
- max concurrent propagation checks
- max pending checks in queue
- whether propagation failures should pause uploads or only mark articles for retry/failure handling
Problem impact
With the current behavior, the propagation delay seems to become a global bottleneck.
If propagation delay is set to 5 seconds, each article may effectively incur that delay before the next one is processed, which can drastically slow down posting speed.
Request
Would it be possible to make propagation verification asynchronous / parallel so that propagation checks do not block processing of the next article?
That would preserve the safety/verification logic while avoiding unnecessary slowdown in the main upload pipeline.
Many thanks for your time and dedication in continuing to develop the wonderful Postie.
The title speaks for itself. If that’s the case, I now understand why Postie’s upload performance is slow compared to Nyuu’s under the same environment and similar settings.
Summary
When propagation checking is enabled, Postie appears to wait for the propagation delay/check of the current article before processing the next article.
This means the propagation check acts as a blocking step in the upload pipeline, which significantly reduces throughput.
From what I can see, the workflow is effectively:
So if the propagation check delay is set to 5 seconds, Postie may spend those 5 seconds idle before moving on to the next article.
In practice, this introduces a pause between articles and slows down large uploads considerably.
Expected behavior
Uploading the next article should not be blocked by the propagation check of the previous one.
A better model would be:
Example:
NsecondsWhy this would help
This would avoid introducing artificial idle time between article uploads.
Benefits:
Suggested implementation idea
Consider decoupling:
For example:
pending propagation checksqueueThis could also be configurable, for example:
Problem impact
With the current behavior, the propagation delay seems to become a global bottleneck.
If propagation delay is set to 5 seconds, each article may effectively incur that delay before the next one is processed, which can drastically slow down posting speed.
Request
Would it be possible to make propagation verification asynchronous / parallel so that propagation checks do not block processing of the next article?
That would preserve the safety/verification logic while avoiding unnecessary slowdown in the main upload pipeline.
Many thanks for your time and dedication in continuing to develop the wonderful Postie.