GSoC’21: Scan8 coordinator node

Maanas Talwar
SCoRe Lab
Published in
2 min readJul 7, 2021

--

During the fourth week of the coding phase, I worked on the programming side of things for the coordinator node of the application.

I developed a module to listen to changes in the prequeued collection of the MongoDB database. All new scans are updated to the prequeued collection for the coordinator node to take further action. An update in the collection triggers an interrupt for the coordinator to add jobs to the Redis Queue.

An RQ job runs the ClamAV scan on a file and updates the percentage status in the database. It also manipulates and updates data between different collections in real-time. I use the clamd python package to scan the files, fundamentally based on the ClamAV open-source antivirus engine.

I also created a .env file populated with environment variables to refactor the code for better maintenance.

During development, I opened pull requests for various issues and learned more about industry-standard programming practices from my mentors.

Next up

For the upcoming week, I will develop a module to run the Redis Worker. I will also enable and set up the RQ timeout and resubmission for failed scans features. With this, I also plan on storing the scan results in a JSON file.

Stay tuned for further updates :)

Project: Scan8

Feel free to connect with me on LinkedIn and check out my GitHub profile.

--

--

Maanas Talwar
SCoRe Lab

maanas-talwar.github.io | Microsoft SWE Intern'22 | GSoC'22 Mentor | GSoC'21 | Senior @ NSUT