You can use a combination of apoc.date.expireIn and apoc.trigger procedures. For example first add trigger:
CALL apoc.trigger.add('doVertexTask', ' UNWIND {deletedRelationships} AS dRel WITH dRel WHERE type(dRel) = "taskRelation" WITH endNode(dRel) AS vertexNode WHERE "Vertex" IN labels(vertexNode) SET vertexNode.prop = rand() RETURN true', {phase: "before"})
Then add the data and task:
MERGE (A:Vertex {id: 1}) CREATE (T:TASK) CREATE (T)-[:taskRelation]->(A) WITH A, T CALL apoc.date.expireIn(T, 10, 's') RETURN A, T
apoc.periodic.scheduleprocedure: neo4j-contrib.github.io/neo4j-apoc-procedures/#_job_managementapoc.periodic.cancel).apoc.date.expireandapoc.triggerprocedures.