(De)Serialização de jobs, um caminho para a persistência na GeBRd e um melhor formato protocolo!

0 views
Skip to first unread message

Bráulio Bhavamitra

unread,
Feb 19, 2011, 1:17:34 PM2/19/11
to gebr-...@googlegroups.com
JSON de um job!!
{
  "client-hostname" : "bhavamitra-laptop",
  "client-display" : "",
  "run-id" : "3",
  "flow-xml" : "",
  "n-process" : "",
  "queue-id" : "",
  "moab-account" : "jq1S.E9BofFE-;jWA",
  "jid" : "q1S.E9BofFE-;jWA",
  "title" : "Calendar",
  "start-date" : "2011-02-19T17:22:35.740824Z",
  "finish-date" : "2011-02-19T17:22:35.843438Z",
  "issues" : "No error file selected; error output merged with standard output.\nProceeding without output file.\n",
  "cmd-line" : "cal '2010' ",
  "output" : "                             2010\n\n      January               February               March\nSu Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa\n                1  2      1  2  3  4  5  6      1  2  3  4  5  6\n 3  4  5  6  7  8  9   7  8  9 10 11 12 13   7  8  9 10 11 12 13\n10 11 12 13 14 15 16  14 15 16 17 18 19 20  14 15 16 17 18 19 20\n17 18 19 20 21 22 23  21 22 23 24 25 26 27  21 22 23 24 25 26 27\n24 25 26 27 28 29 30  28                    28 29 30 31\n31                                          \n       April                  May                   June\nSu Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa\n             1  2  3                     1         1  2  3  4  5\n 4  5  6  7  8  9 10   2  3  4  5  6  7  8   6  7  8  9 10 11 12\n11 12 13 14 15 16 17   9 10 11 12 13 14 15  13 14 15 16 17 18 19\n18 19 20 21 22 23 24  16 17 18 19 20 21 22  20 21 22 23 24 25 26\n25 26 27 28 29 30     23 24 25 26 27 28 29  27 28 29 30\n                      30 31                 \n        July                 August              September\nSu Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa\n             1  2  3   1  2  3  4  5  6  7            1  2  3  4\n 4  5  6  7  8  9 10   8  9 10 11 12 13 14   5  6  7  8  9 10 11\n11 12 13 14 15 16 17  15 16 17 18 19 20 21  12 13 14 15 16 17 18\n18 19 20 21 22 23 24  22 23 24 25 26 27 28  19 20 21 22 23 24 25\n25 26 27 28 29 30 31  29 30 31              26 27 28 29 30\n                                            \n      October               November              December\nSu Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa\n                1  2      1  2  3  4  5  6            1  2  3  4\n 3  4  5  6  7  8  9   7  8  9 10 11 12 13   5  6  7  8  9 10 11\n10 11 12 13 14 15 16  14 15 16 17 18 19 20  12 13 14 15 16 17 18\n17 18 19 20 21 22 23  21 22 23 24 25 26 27  19 20 21 22 23 24 25\n24 25 26 27 28 29 30  28 29 30              26 27 28 29 30 31\n31                                          \n",
  "moab-jid" : ""
}

O custo de fazer isto foi basicamente o de transformar o Job em uma classe GObject. É um custo alto em termos de trabalho, mas muito baixo em termos de riscos: a implementação continua praticamente a mesma!

Faça vc mesmo!
Inclua o arquivo
#include <libgebr/json/json-glib.h>
e no fim da função job_status_notify_finished em gebrd-job.c adicione
        gchar *json = json_gobject_to_data (job, NULL);
        puts (json);
        g_free(json);
Rode gebrd -i veja!


profiles.google.com/brauliobo
Bráulio Bhavamitra Barros de Oliveira

Reply all
Reply to author
Forward
0 new messages