#1720 closed task (blessed) (fixed)
post-commit svn hook
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | Priority: | highest omg bbq | |
Component: | Plugin Directory | Keywords: | |
Cc: |
Description
After each commit we'll need to reparse the plugins affected by the changeset.
The existing plugins directory doesn't use a post-commit hook, rather, it simply parses from last-parsed-revision to current-revision.
It does this as parsing is an expensive process and processing each plugin as the commit happens will result in a large number of processes running in parallel during high commit scenario's.
With that in mind, we need to
- Upon SVN commit, mark a plugin as needing to be parsed
- Process the i18n imports
- Invalidate ZIPs affected by the commit
- Not run the import on svn commit, but rather through some form of queue system (a job system such as cavalcade preferably or a custom cron job if need be)
- Not run too many imports concurrently to avoid resource exhaustion, or plugins.svn becoming unresponsive (it happens)
- Not run two imports for the same plugin at the same time (ie. commit 123 and commit 1234 both touch plugin-x, shouldn't result in two parallel imports, but one after the other *at most*)
Not strictly part of this, but this is also where we should kick off any code-scanning jobs.
In 3367: