[{"data":1,"prerenderedAt":301},["ShallowReactive",2],{"content-query-z4FtMeX8dF":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":7,"icon":9,"body":10,"_type":295,"_id":296,"_source":297,"_file":298,"_stem":299,"_extension":300},"/ramdb/main/scheduler","main",false,"","ArmaRAMDb - Scheduler","mdi:file-text-outline",{"type":11,"children":12,"toc":281},"root",[13,21,28,34,40,53,59,123,129,134,140,147,156,162,171,177,223,229],{"type":14,"tag":15,"props":16,"children":18},"element","h1",{"id":17},"ramdb_db_fnc_scheduler",[19],{"type":20,"value":17},"text",{"type":14,"tag":22,"props":23,"children":25},"h2",{"id":24},"description",[26],{"type":20,"value":27},"Description",{"type":14,"tag":29,"props":30,"children":31},"p",{},[32],{"type":20,"value":33},"Manages the callback system for the ArmaRAMDb extension. This function receives task IDs from the extension's asynchronous callbacks, parses them, and registers them in a hashmap for later processing. It acts as the bridge between the extension's asynchronous operations and the game's execution environment.",{"type":14,"tag":22,"props":35,"children":37},{"id":36},"syntax",[38],{"type":20,"value":39},"Syntax",{"type":14,"tag":41,"props":42,"children":47},"pre",{"className":43,"code":45,"language":46,"meta":7},[44],"language-sqf","[_taskID] call ramdb_db_fnc_scheduler\n","sqf",[48],{"type":14,"tag":49,"props":50,"children":51},"code",{"__ignoreMap":7},[52],{"type":20,"value":45},{"type":14,"tag":22,"props":54,"children":56},{"id":55},"parameters",[57],{"type":20,"value":58},"Parameters",{"type":14,"tag":60,"props":61,"children":62},"table",{},[63,91],{"type":14,"tag":64,"props":65,"children":66},"thead",{},[67],{"type":14,"tag":68,"props":69,"children":70},"tr",{},[71,77,82,86],{"type":14,"tag":72,"props":73,"children":74},"th",{},[75],{"type":20,"value":76},"Parameter",{"type":14,"tag":72,"props":78,"children":79},{},[80],{"type":20,"value":81},"Type",{"type":14,"tag":72,"props":83,"children":84},{},[85],{"type":20,"value":27},{"type":14,"tag":72,"props":87,"children":88},{},[89],{"type":20,"value":90},"Default",{"type":14,"tag":92,"props":93,"children":94},"tbody",{},[95],{"type":14,"tag":68,"props":96,"children":97},{},[98,108,113,118],{"type":14,"tag":99,"props":100,"children":101},"td",{},[102],{"type":14,"tag":49,"props":103,"children":105},{"className":104},[],[106],{"type":20,"value":107},"_taskID",{"type":14,"tag":99,"props":109,"children":110},{},[111],{"type":20,"value":112},"String",{"type":14,"tag":99,"props":114,"children":115},{},[116],{"type":20,"value":117},"Task identifier returned from extension callback",{"type":14,"tag":99,"props":119,"children":120},{},[121],{"type":20,"value":122},"\"\"",{"type":14,"tag":22,"props":124,"children":126},{"id":125},"return-value",[127],{"type":20,"value":128},"Return Value",{"type":14,"tag":29,"props":130,"children":131},{},[132],{"type":20,"value":133},"None. The function registers the task ID in a hashmap for later processing.",{"type":14,"tag":22,"props":135,"children":137},{"id":136},"examples",[138],{"type":20,"value":139},"Examples",{"type":14,"tag":141,"props":142,"children":144},"h3",{"id":143},"process-a-callback-from-the-extension",[145],{"type":20,"value":146},"Process a callback from the extension:",{"type":14,"tag":41,"props":148,"children":151},{"className":149,"code":150,"language":46,"meta":7},[44],"[\"1689524160123_get\"] call ramdb_db_fnc_scheduler;\n",[152],{"type":14,"tag":49,"props":153,"children":154},{"__ignoreMap":7},[155],{"type":20,"value":150},{"type":14,"tag":141,"props":157,"children":159},{"id":158},"forward-a-callback-to-the-server",[160],{"type":20,"value":161},"Forward a callback to the server:",{"type":14,"tag":41,"props":163,"children":166},{"className":164,"code":165,"language":46,"meta":7},[44],"[\"1689524160123_hgetall\"] remoteExecCall [\"ramdb_db_fnc_scheduler\", 2, false];\n",[167],{"type":14,"tag":49,"props":168,"children":169},{"__ignoreMap":7},[170],{"type":20,"value":165},{"type":14,"tag":22,"props":172,"children":174},{"id":173},"notes",[175],{"type":20,"value":176},"Notes",{"type":14,"tag":178,"props":179,"children":180},"ul",{},[181,187,192,197,208,213,218],{"type":14,"tag":182,"props":183,"children":184},"li",{},[185],{"type":20,"value":186},"Parses the task ID to extract the timestamp and operation type",{"type":14,"tag":182,"props":188,"children":189},{},[190],{"type":20,"value":191},"Registers the task in a type-specific hashmap using the mission namespace",{"type":14,"tag":182,"props":193,"children":194},{},[195],{"type":20,"value":196},"Each operation type (get, hgetall, etc.) has its own hashmap for tracking",{"type":14,"tag":182,"props":198,"children":199},{},[200,202],{"type":20,"value":201},"The format of task IDs is typically: ",{"type":14,"tag":49,"props":203,"children":205},{"className":204},[],[206],{"type":20,"value":207},"[timestamp]_[operation]",{"type":14,"tag":182,"props":209,"children":210},{},[211],{"type":20,"value":212},"This function is automatically called by the extension callback mechanism",{"type":14,"tag":182,"props":214,"children":215},{},[216],{"type":20,"value":217},"Creates hashmaps on demand if they don't already exist",{"type":14,"tag":182,"props":219,"children":220},{},[221],{"type":20,"value":222},"Critical for handling asynchronous database operations",{"type":14,"tag":22,"props":224,"children":226},{"id":225},"links",[227],{"type":20,"value":228},"Links",{"type":14,"tag":29,"props":230,"children":231},{},[232,239,241,247,248,254,255,261,262,268,269,274,275],{"type":14,"tag":233,"props":234,"children":236},"a",{"href":235},"/ramdb/main/addtask",[237],{"type":20,"value":238},"Add Task",{"type":20,"value":240}," |\n",{"type":14,"tag":233,"props":242,"children":244},{"href":243},"/ramdb/main/handler",[245],{"type":20,"value":246},"Handler",{"type":20,"value":240},{"type":14,"tag":233,"props":249,"children":251},{"href":250},"/ramdb/main/init",[252],{"type":20,"value":253},"Init",{"type":20,"value":240},{"type":14,"tag":233,"props":256,"children":258},{"href":257},"/ramdb/main/printaddonname",[259],{"type":20,"value":260},"Print Addon Name",{"type":20,"value":240},{"type":14,"tag":233,"props":263,"children":265},{"href":264},"/ramdb/main/processqueue",[266],{"type":20,"value":267},"Process Queue",{"type":20,"value":240},{"type":14,"tag":233,"props":270,"children":271},{"href":4},[272],{"type":20,"value":273},"Scheduler",{"type":20,"value":240},{"type":14,"tag":233,"props":276,"children":278},{"href":277},"/ramdb/main/test",[279],{"type":20,"value":280},"Test",{"title":7,"searchDepth":282,"depth":282,"links":283},2,[284,285,286,287,288,293,294],{"id":24,"depth":282,"text":27},{"id":36,"depth":282,"text":39},{"id":55,"depth":282,"text":58},{"id":125,"depth":282,"text":128},{"id":136,"depth":282,"text":139,"children":289},[290,292],{"id":143,"depth":291,"text":146},3,{"id":158,"depth":291,"text":161},{"id":173,"depth":282,"text":176},{"id":225,"depth":282,"text":228},"markdown","content:ramdb:main:scheduler.md","content","ramdb/main/scheduler.md","ramdb/main/scheduler","md",1742777961750]