GSoC Blog 3
July 5 — July 19
The following 2 weeks will mainly have work regarding the issues faced so far in the installation of the various datasets involved.
Till July 8
In the last blog, we discussed issues that we had faced so far regarding an error that randomly popped up. In a meet with the mentor, we decided that executing a shell script may be a good idea as that solves the issues regarding the permissions in the crontab.
The possible solutions to this error included:
- Using a new python library
- Editing the permission requirements of the existing run cron
The new library that was decided to be added was: Django-cron
Till July 12
I first tried manually editing the permission to find the exact reasons why we were having the permission issues. This involved many variations on the current way of running the cronjob and the way we were executing the file.
The exiting library is using the UNIX cron system to automatically store hashes and functions to the library. On executing the crontab add command we use the crontab utility, which means we don’t need the server running to execute this cronjob.
The new implementation uses a python library to just check the validity of the cronjob, will look into it further. The new library also seems to promise the ability to run bash scripts that will only further help against the issues regarding permissions.
Till July 15
By this time, I have started the port of the cron library to use the one linked above. This gave the advantage of the ability to create a class that can automatically test if it’s valid to run a cron.
Another advantage is to manually define a crontab that we will be holding the commands to be run when the cronjob is activated.
Till July 19
By this time I have successfully ported the Django library to the existing retrieverdash project. The new class/file seems to be set up correctly, running the cron perfectly.
All projects that I’ve run so far seem to be working perfectly. Will continue more research further on.
The current future aim is to get the existing code with documentation ready for the server to check if it is working properly.
Until next time! :)