Subscriptions erratically not happening <= why, why, WHY?

Many companies have large numbers of recurring sales invoices each month keeping them alive. To do them, we switched from AutoRepeats to Subscriptions last year for better price and item flexibility.

BUT: Sometimes they work, sometimes they just DON’T, for no good reason! Nothing changed. It is driving accounts up the wall and I am starting to get in trouble with my ever enthusiastic ERPnext recommendations.

I super carefully checked all logs in application, host and db: Absolutely nothing! The way this works I assume:

cron => scheduler in application => script generates invoices

Am I wrong? Why would that ever fail without leaving any traces? Please, someone who also uses Subscriptions (I trust you exist), give me some clues.

Please tell me that in a multitenancy installation, sites do not share the scheduler??? (do they?)

…because I am seeing:

ERROR scheduler Skipped queueing [script] because it was found in queue for [test site with copied db]

Do sites share the same scheduler?

Please tell me I am wrong…

1 Like

AFAIUnderstand the scheduler is linked to bench, or rather the process zoo it or its delegates (like honcho, supervisor, …) starts or maintains, respectively.

It’s not this which I’d see as a problem, although it’s a certain way to separate(/not separate) concerns (sites). I’d rather formulate it like this:

If such an error is thrown, there must be some specific test.

But wouldn’t it be extremely superficial to assume that a script which runs two times in a queue does exactly the same thing, and not depend on any kind of setting, condition, parameter which differentiate between its runs?
If nothing else, it could even be made to process stuff in shorty batches of 10 instead of “blocking” the queue for batches of, say, 1000, and get scheduled for each batch, repetitively, for whatever reason of performance improvement.

Just more or less arbitrarily skipping scheduling for a superficial criterion would have a smell of half-bakedness, I’d say.
Or maybe it’s an attempt of somehow improving security or misuse, coding error?
Or some kind of relict?