arangodb erlang数据库驱动
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

90 righe
3.5 KiB

  1. -module(agTasks).
  2. -include("eArango.hrl").
  3. -compile(inline).
  4. -compile({inline_size, 128}).
  5. -compile([export_all, nowarn_export_all]).
  6. % doc_address:https://www.arangodb.com/docs/stable/http/traversal.html
  7. % HTTP任务接口
  8. % 接下来,您将看到ArangoDB的任务HTTP接口。
  9. % 还为每个API操作提供了一些示例。
  10. %
  11. % 提取所有任务或一项任务
  12. % GET /_api/tasks/
  13. % 获取服务器上的所有现有任务
  14. % HTTP 200任务列表
  15. % **:所有任务的列表
  16. getTaskList(PoolNameOrSocket) ->
  17. agVstCli:callAgency(PoolNameOrSocket, ?AgGet, <<"/_api/tasks/">>).
  18. % 检索一个当前活动的服务器任务
  19. % GET /_api/tasks/{id}
  20. % 路径参数
  21. % id(必填):要提取的任务的ID。
  22. % 在ID指定的服务器上获取一个现有任务
  23. % HTTP 200请求的任务
  24. % **:相关功能
  25. getTask(PoolNameOrSocket, TaskId) ->
  26. Path = <<"/_api/tasks/", (agMiscUtils:toBinary(TaskId))/binary>>,
  27. agVstCli:callAgency(PoolNameOrSocket, ?AgGet, Path).
  28. % 创建一个新任务
  29. % POST /_api/tasks
  30. % 具有以下属性的JSON对象是必需的:
  31. % name:任务名称
  32. % command:要执行的JavaScript代码
  33. % params:要传递给命令的参数
  34. % period:执行之间的秒数
  35. % offset:初始延迟的秒数
  36. %
  37. % 用生成的ID创建一个新任务
  38. % HTTP 200任务已注册
  39. % id:标识任务的字符串
  40. % created:创建此任务的时间戳
  41. % type:这是什么类型的任务[ periodic,timed]
  42. % 定期重复执行的任务
  43. % 定时是在特定时间执行一次的任务
  44. % period:这个任务应该运行的每个period秒
  45. % offset:距创建的时间戳的时间偏移(以秒为单位)
  46. % command:此任务的javascript函数
  47. % database:此任务所属的数据库
  48. % code:状态码,在这种情况下为200。
  49. % error:在这种情况下为false
  50. % 400:如果帖子正文不正确,则返回HTTP 400。
  51. newTask(PoolNameOrSocket, MapData) ->
  52. agVstCli:callAgency(PoolNameOrSocket, ?AgPost, <<"/_api/tasks">>, ?AgDefQuery, ?AgDefHeader, eVPack:encodeBin(MapData)).
  53. % 注册具有预定义ID的新任务;与负载均衡器不兼容
  54. % PUT /_api/tasks/{id}
  55. % 路径参数
  56. % id(必填):要创建的任务的id
  57. % 具有以下属性的JSON对象是必需的:
  58. % name:任务名称
  59. % command:要执行的JavaScript代码
  60. % params:要传递给命令的参数
  61. % period:执行之间的秒数
  62. % offset:初始延迟的秒数
  63. % 注册具有指定ID的新任务
  64. % 返回码
  65. % 400:如果任务ID已经存在或其余主体不正确,则返回HTTP 400。
  66. newTask(PoolNameOrSocket, TaskId, MapData) ->
  67. Path = <<"/_api/tasks/", (agMiscUtils:toBinary(TaskId))/binary>>,
  68. agVstCli:callAgency(PoolNameOrSocket, ?AgPut, Path, ?AgDefQuery, ?AgDefHeader, eVPack:encodeBin(MapData)).
  69. % 删除一个当前活动的服务器任务
  70. % DELETE /_api/tasks/{id}
  71. % 路径参数
  72. % id(必填):要删除的任务的id。
  73. % 删除服务器上ID标识的任务。
  74. % HTTP 200如果删除了任务,则返回HTTP 200。
  75. % code:状态码,在这种情况下为200。
  76. % error:在这种情况下为false
  77. % HTTP 404如果任务ID未知,则返回HTTP 404。
  78. % code:状态码,在这种情况下为404。
  79. % error:在这种情况下为true
  80. % errorMessage:一条纯文本消息,指出出了什么问题。
  81. delTask(PoolNameOrSocket, TaskId) ->
  82. Path = <<"/_api/tasks/", (agMiscUtils:toBinary(TaskId))/binary>>,
  83. agVstCli:callAgency(PoolNameOrSocket, ?AgDelete, Path).