#beanstalkd as Job Queue for TYPO3 infrastructure Moved some things to \url{https://notes.typo3.org/p/RabbitMQ} ~BB ##To be considered: Martin Bless: I skimmed over threads in the Beanstalkd Google Group. It seems, that the queue is ALL IN MEMORY. This might mean that a server crash will make all tasks vanish! Steffen: There's the possibility of a binlog, see \url{https://github.com/kr/beanstalkd/wiki/faq} and \url{https://github.com/pda/pheanstalk/#usage-example} Fabien: Besides the binlog, the application must have the ability to recover everything ##Current use ## Fabien: I have in the pipline a prototype to make communicate through **Beanstalkd **the documentation rendering server and the documentation delivery server. What format is used? Looks like using JSON is a good idea. ##Superivison of the queue Zabbix could be use to monitor the health of the queue. Code example? ##Idea: central message bus for extensions/docs/translations (Steffen) * Once a new extension is uploaded to TER, jobs are created * ter\_fe2 imports the extension into its data structures (implemented via scheduler) * Doc rendering renders documentation (implemented via scheduler) * translation server pulls extension to make them available for translation (implemented via nightly cron) * ZIP file is created (implemented via scheduler) * Replication to new main mirror (ter.typo3.org) is triggered (implemented via ~15min cron) * ... * Once a new patch set is pushed to Gerrit * Gerrit triggers docu rendering, if it's inside a Documentation repo. Rendering reports back with a comment that the documentation is rendered on a certain URL (but not the in the offical docs) (not implemented, yet) * Jenkins triggers new build to execute tests (currently done via a SSH connection Gerrit<->Jenkins, thus low prio) (implemented via gerrit ssh stream) * Once a change is merged * Gerrit triggers docu rendering, official docs updated (not implemented) * translation server updates (enable translation before release?) (implemented via cron) * Jenkins triggers build (not implemented) * Forge closes issue (via very slow cron job) * Forge refreshes repository view (via very slow cron) * Translation server announces new translation packages * TER server fetches them (implemented via nightly cron job) * Forge: Team members added * Triggers Gerrit to sync permissions for that project (implemented via cron job ~30min) * Forge: New project is created * Git repository is created (not implemented yet) * Packaging server (in case of v4/v6) or Jenkins (FLOW3) uploads a new release * notifies get.typo3.org (implemented via cron job ~10min) * Once a documentation is rendered * Documentation delivery server synchronize the docs (party implemented) * TYPO3.org: New extension key is registered * forge-project created (not implemented) * git repo created (not implemented) ##Requirements * Security Check * BackUp Check * Cloud Service? * Monitoring Inside * Monitoring via Zabbix
{}