+defhash job => qw/date errors extension filesize private problem result result_text user/;
+defhash user => qw/name email town university level/;
+
+sub clean_job (_){
+ HDEL cp . "job.$_[0]", qw/result result_text results daemon/
+}
+
+sub mark_open {
+ my ($problem, $user) = @_;
+ HSETNX cp . 'open', "$problem.$user", time;
+}
+
+sub get_open {
+ my ($problem, $user) = @_;
+ HGET cp . 'open', "$problem.$user";
+}