Hi Ludwig. I mostly share Luca's view on this matter. I just add some comments. Il 17/11/2013 00:34, Ludwig Schmidt ha scritto: > Currently we are debating how we should implement these three parts > in CMS. The two main questions are: > > - Should the git polling process and the sync process be separate > services communicating via RPCs? Or should they be two processes in > the same program, using python's multiprocessing library? As Luca said, I would try first of all to make your importer compatible with our already established framework for importing. Hopefully this shouldn't be too complicated, since I believe our existing code to be rather generic and adaptable. However, so far we have only one importer, so I may lack perspective. Please, let us know if your model doesn't fit our framework. Then, ideally your polling service would just use the general Importer interface, so that the same solution easily adapts to other contest description formats. This may be difficult, so probably it may be too far-fetching to set it as initial target. I don't know your format, so I can't judge. As Luca said, I would avoid using multiprocessing. If anything, use two different greenlets, that nicely fit in the IO model we recently switched to (based on greenlet and gevent). Then you can use Queue objects to communicate. If you want to make different services (nowadays the tendency in CMS is to make services as small as possible, so that may be appropriate), then you can rely on the RPC mechanism. I don't have a strong opinion on which way to take: but usually you can start with one and then change to the other if evidence to do so appears later (we already split or merged services; mostly split, actually). > - Should we add the web UI into the admin web server or write a > separate web service for it? Especially if your solution can be generalized to any importer, I think that a section in AWS would be better. Anyway, Luca is working on a new AWS architecture, which I don't know very well (I don't even know well the old one, to say the truth). You should consider to integrate directly with that one. > Ideally, we would eventually like to merge these changes back into > CMS as a new task importer. So getting your feedback on the overall > design would be very helpful. It seems to be a nice project. I don't hide that I have some doubts on how to properly handle corner cases (a contest that takes a lot of time to build, for example), but they can be ruled out with proper testing and work. :-) Gio. -- Giovanni Mascellani <mascellani@xxxxxxxxxxxxxxxxxxxx> Pisa, Italy Web: http://poisson.phc.unipi.it/~mascellani Jabber: g.mascellani@xxxxxxxxxx / giovanni@xxxxxxxxxxxxxxxxxxxx
Attachment:
signature.asc
Description: OpenPGP digital signature