Iconic v0.1.0 Iconic View Source

Application module for iconic, a Task based icon fetching application.

Examples

Task.await(Iconic.get("www.foo.com"))
Enum.to_list(Iconic.mget(["www.foo.com", "www.bar.com", "www.baz.com"]))

Link to this section Summary

Functions

Returns a Task that yields a list of Icon.Parse.Icon.t() when it’s completed

Returns a Stream that yields a list of {task_status, [Icon.Parse.Icon.t()]} when all the icon fetching tasks are completed

Called when an application is started

Link to this section Functions

Returns a Task that yields a list of Icon.Parse.Icon.t() when it’s completed.

Examples

task = Iconic.get(“www.foo.com”) Task.await(task)

Link to this function mget(urls, options \\ []) View Source
mget(String.t(), keyword()) :: Enumerable.t()

Returns a Stream that yields a list of {task_status, [Icon.Parse.Icon.t()]} when all the icon fetching tasks are completed.

Options

  • :max_concurrency - sets the maximum number of tasks to run at the same time. Defaults to System.schedulers_onlines/0.
  • :timeout - the maximum amount of time to wait (in milliseconds) without receiving a task reply (across all running tasks). Defaults to 5000.

Examples

tasks = Iconic.mget([“www.foo.com”, “www.bar.com”, “www.baz.com”]) Enum.to_list(tasks)

Called when an application is started.

This function is called when an application is started using Application.start/2 (and functions on top of that, such as Application.ensure_started/2). This function should start the top-level process of the application (which should be the top supervisor of the application’s supervision tree if the application follows the OTP design principles around supervision).

start_type defines how the application is started:

  • :normal - used if the startup is a normal startup or if the application is distributed and is started on the current node because of a failover from another node and the application specification key :start_phases is :undefined.
  • {:takeover, node} - used if the application is distributed and is started on the current node because of a failover on the node node.
  • {:failover, node} - used if the application is distributed and is started on the current node because of a failover on node node, and the application specification key :start_phases is not :undefined.

start_args are the arguments passed to the application in the :mod specification key (e.g., mod: {MyApp, [:my_args]}).

This function should either return {:ok, pid} or {:ok, pid, state} if startup is successful. pid should be the PID of the top supervisor. state can be an arbitrary term, and if omitted will default to []; if the application is later stopped, state is passed to the stop/1 callback (see the documentation for the c:stop/1 callback for more information).

use Application provides no default implementation for the start/2 callback.

Callback implementation for Application.start/2.