Replies: 3 comments 9 replies
-
Hi @jimsabo thanks for your message. All your comments make sense, and I've actually faced this same issue while generating a large collection for a client. What I did is I wrote a custom script to basically first generate all 10k JSONs metadata, but only generate the first 1K gifs from those 10K. Then after uploading the files, I adjusted the editions so it would regenerate the next 1-2k, then 2-3k and so on. That way it wouldn't regenerate the JSON. However this script is not generalized and not ready for production, I might try to generalize it in a few weeks but no promises. I like the idea of parallelizing step3 while step 2 is being run, the tricky part is that step2 is in node, and step3 is in python. Probably could have a python script that spawns multiple processes (multithreading doesn't really work well in Python due to GIL). Can you create an issue so we can track it https://github.com/jalagar/animated-art-engine/issues. Realistically I probably won't be able to implement a really good solution for a week or two while I am traveling but good to have it documented as an issue. |
Beta Was this translation helpful? Give feedback.
-
@jimsabo @reesepushkin huge update, I have productionized the code above, and added documentation. Should be straight forward. Now the code will generate all the JSONs at once, then regenerate from the JSON based on the START_EDITION and END_EDITION. See the latest code and README: |
Beta Was this translation helpful? Give feedback.
-
@jimsabo @reesepushkin huge update, I have productionized the code above, and added documentation. Should be straight forward. Now the code will generate all the JSONs at once, then regenerate from the JSON based on the START_EDITION and END_EDITION. See the latest code and README: |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm testing a really large batch, and ran out of disk space. Re-running step 3 cleared out the 6K files that had been generated and started over from scratch. It would be great to have a flag that says "don't do that, just pick up where you left off."
I'm also noting that step 2 isn't coming close to taxing my hardware-- if step 3 was smarter about not re-doing work, I could let step 2 run for a bit, then run step 3 in parallel, making whatever was ready to go. This would dramatically cut down how long it took to generate the total run.
A more complex solution for down the line would be to spawn step 3 as a separate thread that watched the generative sheet directory and processed whatever was ready. This would eliminate the need to do it manually, which would work better for overnight runs.
Beta Was this translation helpful? Give feedback.
All reactions