A while ago I wrote a little script that used Archy to export flows. To speed it up, what I did was to spin up a few threads to download them in parallel (not too many, avoiding hitting API limits).
It has been working fine until the previous Archy version (2.33.0). However, with the last one (2.33.1), it is no longer working when using more than 1 thread. If I use more, after it has exported some flows, it suddenly freezes (without logging anything nor showing any errors). Currently, I have been able to work around it by downgrading to the previous Archy version. But I can have an outdated version forever...
Do you have any idea of why this is happening? Something must have changed between 2.33.0 and 2.33.1...
FWIW, I've tested it in Windows and Linux, and the behaviour is the same.
Hi! I used golang, with the os/exec module. It just has some goroutine workers that call a function that (simplified) does something like:
// ...
cmd := exec.Command("archy", []string{
"export",
"--location", location,
"--clientId", clientId,
"--clientSecret", clientSecret,
"--exportType", "yaml",
"--flowId", flowId,
"--outputDir", outputFolder,
"--force",
})
// Buffer redirection to log errors
var out strings.Builder
cmd.Stdout = &out
cmd.Stderr = &out
// Run
if err := cmd.Run(); err != nil {
log.Println(out.String())
return err
}
The thing is that it is not like it didn't work at all with multiple workers... It goes well, but when it has downloaded a few dozens of flows... it simply freezes.
What confuses me the most is that with all previous versions, it works perfectly fine, as it has been doing for a year since I created it. So there must be something that changed from the previous version to the current one.